1、Linux 下有两种用户: 超级用户( root)、 普通用户。超级用户命令提示符是“ #”, 普通用户是“ $”
2、命令: su [用户名] eg: su chen sudo是权限提升
3、 添加用户 useradd 用户名 eg: useradd -m chen -s /bin/bash,其中,-m 是在“/home”下建立chen目录、-s /bin/bash 是指定脚本语言
4、在建立用户后就是设置密码: 命令:eg: passwd chen
5、删除用户 eg: userdel chen 附: .. 是上一级目录 . 是当前目录
6、查看文件可用vim cat echo hello>file(可以重定向到file)
7、查看文件或目录 命令: ls [选项] [目录或文件]
eg: ls –a /root/home 列出目录所有子目录与文件
ls –l 列出的详细信息 第一个字符是文件类型
如:类型与权限 连接数 所有者 所属组 大小 最近修改时间 文件名字。其中,文件类型有 - 普通文件 d 目录 l 符号链接 b 块设备
c 字符设备文件 p 命名管道 s 是socket 文件
后9个字符是文件访问权限,3 组, 每组 3位
第一组文件创建者权限,第二组同组用户权限,第三组其他用户权限
r(4 读)、w(2 写)、x(1执行)、 _ (没有设置权限)
eg: rwxr_xr_x 755 , rw_r_ _r_ _ 644
8、改变工作目录 eg: cd /home/chen/test
cd .. 到父目录 cd / 到根目录 cd ~ 到用户主目录下~ 等同cd
cd – 到上一次目录
9、显示当前工作目录 命令 : pwd
10、创建目录 mkdir chen 删除目录 rmdir chen
11、拷贝文件或目录 命令 cp [选项] 源文件或目录 目标文件或目录
常用参数:-f 若有同名文件,直接覆盖(不提示) -i 同名文件(会提醒) -r 目录下的子目录和文件全部拷贝
12、移动文件或目录 mv [选项] 源文件或目录 目标文件或目录 -i和-f 同上,是否提醒。 此外若是同一目录。mv可用于改名
13、删除文件或目录 rm [选项] 文件或目录 -f 删除过程中不会给出提示。 -i 删除过程中会给出交互式提示。 -r 如果删除的是一个目录,则将该目录下的目录及子目录均删除掉。 当然可以组合使用 eg: rm –rf /chen/test
14、查看文件内容 cat [选项] [文件] 参数: -b 对非空输出行编号
-E 在每行结束处显示$ -n 对输出的所有行编号 -s 不输出多行空行。标准输入: 描述符:0 标准输出为:1 错误输出为:2
重定向符号: <重定向输入 、 >重定向输出 、 >>添加输出 、 2>错误重定向 、 &>错误和信息重定向
cat 常常与重定向一起使用。 其中>表示创建, >>表示追加,<<
表示以什么结束 若cat命令行没有参数,便只是纯读取到标准输出
inux 中创建空文件的四种方式:
方式 1: echo > a.txt(有一个字节)
方式 2: touch b.txt
方式 3: cat > c.txt 按 ctrl+c 组合键退出; 或 Ctrl+d
方式 4: vi d.txt 进入之后: wq 退出。
15、显示文件内容的前几行 head –n 行数值 文件名 文件的后几行 tail –n 行数值 文件名 eg: Head –n 10 main.cc
16、在bash里面的常用快捷键有:Ctrl+a 到行首 Ctrl+e到行尾 Ctrl+r查找上一次的输入
17、管道与命令替换
管道: 是重定向的一种, 就像一个导管一样, 将一个程序或命令的输出作为另一个程序或命令的输入。 eg:ls –l ./etc | wc –w (注wc(Word Count)) wc [选项]文件... -c 统计字节数。 -l 统计行数。 -m 统计字符数。这个标志不能与 -c 标志一起使用。 -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。 -L 打印最长行的长度。
命令替换: 和重定向有点相似, 但区别在于命令替换是将一个命令的输出作为另一个命令的参数。 格 式:command1 `command2`或 command1 $(command2) $(cmd)和`cmd`的作用是相同的,在执行一条命令时,会先将其中的 ``,或者是$() 中的语句当作命令执行一遍,再将结果加入到原命令中重新执行,例如:首先列出当前的所有信息, 并重定向到 aa 文件中:ls | cat > aa 或 ls > aa 然后, 通过命令替换, 列出 aa 文件中所有的文件信息ls –l `cat aa` 或者ls –l $(cat aa)
18、文件或目录的创建掩码
umask 指文件( 0666) 或目录( 0777) 创建时在全部权限中要去掉的一些权限, 普通用户缺省时 umask 的值为 002, 超级用户为 022。
002 表示创建目录时所有者的权限不去掉, 所属组权限不去掉, 其他组权限写属性去掉。
创建文件普通用户缺省的权限664 超级用户: 644
创建目录普通用户缺省的权限775 超级用户: 755
可通过 umask 001修改掩码值
19、改变目录或文件的权限
chmod用户用它控制文件或目录的访问权限。数字设定法
顺序是( u)( g)( o) chmod [mode] eg:chmod 755 mm.txt
u 表示“用户( user) ” 、g 表示“同组( group) 用户” 、o 表示“其他( others) 用户” 、a 表示“所有( all) 用户”
eg: chmod a+x a.out 所有用户都增加可执行权限
chmod ug+w, o-x text chmod ugo–x mm.txt
20、文件查找
命令: find 起始目录 查找条件 操作
查找条件可由逻辑运算符not、and、or组合
and:与,用-a表示 or:或,用-o表示 not:非,用!表示
eg: find /home/chen –name 1.p –a -type d
find /home/user -name main.cc -o -name main.c
find /home/user ! –name main.cc
( 1) 根据名称和文件属性查找
-name ’字串’ 字串内可用通配符*、 ?、 []
find /home/luke -name main.c |xargs ls -l
21、搜索文件内容 grep
命令: grep [选项][查找模式][文件名 1, 文件名 2, …]
^ :以什么开头 , 例如 ls –l | grep ^d 显示当前目录下的所
有子目录的详细信息 这里是以d开头,代表查找目录
$ :以什么结尾 。 例如 ls –l | grep c$ 显示当前目录下
以 c 结尾的文件
eg:找空行 grep ^$
find ! -name 1.c|grep rm -r 除了1.c的文件全删了。
find /user/include *h|xargs grep main
grep的通配: 一个字符 grep .ello file .表示记不清的一个字符
多个字符 grep h.* file 以h开头的
一个字符范围 grep h[a-z] file [ ]表示范围
例如: grep --nirs findtext ..
22、 文档管理
命令: tar [主选项+辅选项] 目标文档 源文件或目录
tar 命令, 可以把一大堆的文件和目录全部打包成一个文件, 这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的
常用参数:
c: 创建新的档案文件。
r: 要把存档的文件追加到档案文件的末尾。
tar rf *.tar test
x: 从档案文件中释放文件。
f: 使用档案文件或设备。
v: 在归档过程中显示处理的文件。
z: 用 gzip 来压缩/解压缩文件, 后缀名为.gz, 加上该选项后可
以将档案文件进行压缩。
eg:, 把“ /home/user/” 下的所有后缀为.c 的归档到source.tar, 则使用 tar cvf source.tar /home/user/*.c
若归档时还要压缩, 则用tar zcvf source.tar.gz /home/user/*.c
若果将压缩文件释放, 则使用Tar xzvf source.tar.gz
排除某个文件或文件夹exclude.list 打包: tar -cvf test_conf_008.tar -X exclude.list .
23、 文件压缩解压
命令: gzip [选项]压缩或解压缩的文件名
d: 将压缩文件进行解压。
-v: 在压缩或解压过程中显示解压或压缩的文件
eg: Gzip –dv main.c.gz
24、scp 远程 copy 文件命令
eg:scp test -r chen@ip:path
scp file3 king@192.168.4.52:~/ 从本机 copy 到其他机器
scp king@192.168.4.52:~/file3 . 从其他机器 copy 到本机
可用ssh登录
25、ELF(Executable and Linking Format)是一个定义了目标文件内部信息如何组成和组织的文件格式。内核会根据这些信息加载可执行文件,内核根据这些信息可以知道从文件哪里获取代码,从哪里获取初始化数据,在哪里应该加载共享库,等信息。
readelf -hS nodeos | less // 例如: nodeos 表示二进制程序
更多操作,参见:
https://linuxtools-rst.readthedocs.io/zh_CN/latest/base/index.html