1.重定向命令
-
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。
-
终端内容保存到文件使用重定向有两种方式:>和>>.
-
>表示每次只写入最新的数据,原有数据不保留。 -
>>表示每次在原有数据的基础上进行追加,原有数据会保留。标题 >如果文件存在,会覆盖原有文件内容,相当于文件操作中的'w'模式 >> 如果文件存在,会追加写入文件末尾,相当于文件操作中的'a'模式 testtweak % ls > a.txt testtweak % cat a.txt Makefile Tweak.x a.txt control packages testTweak.plist testtweak %
2.查看文件内容命令
-
常见命令如下:
标题 cat 查看小型文件 more 查看大型文件 | 管道,一个命令的输出可以哦你给过管道作为另一个命令的输入,相当于一个容器 cat a.txt b.txt > c.txt more a.txt
3.链接命令
软链接
-
类似于windows下的快捷方式,当一个源文件的目录层级比较深,我们想要方便使用它可以给源文件创建一个软连接。
-
软链接的作用就是方便文件的访问操作,比如把一个复杂路径下的文件使用软连接就可以完成方便的访问。
-
创建软连接文件应该使用绝对路径,否则软链接文件可能失效。
-
可以给目录创建软链接
-
删除源文件,软链接文件也会失效。
命令 说明 ln -s 创建软链接 ~ % cd Desktop Desktop % tree A A └── B └── a.py 2 directories, 1 file Desktop % ln -s ./A/B/a.py s1.py Desktop % ln -s /Users/aaa/Desktop/A/B/a.py s2.py Desktop % ln -s ./A/B/a.py s1.py Desktop % ln -s /Users/aaa/Desktop/A/B/a.py s2.py Desktop % mv s1.py s2.py A Desktop % tree A A ├── B │ └── a.py ├── s1.py -> ./A/B/a.py └── s2.py -> /Users/aaa/Desktop/A/B/a.py 2 directories, 3 files Desktop %
4.查找文件内容命令
-
常见命令如下:
命令 说明 grep 查找搜索文件内容 grep -v 显示不包含匹配文本的所有行 grep -n 显示匹配行号 grep -i 忽略大小写 -
还可以结合正则表达式使用
-
grep还可以查找管道中的内容,比如ls | grep "lib"
-
在使用grep命令时候,还可以省略查找内容的引号。
Desktop % grep hello a.txt hello Desktop % grep hello -n a.txt 1:hello Desktop % grep h a.txt hello hw Desktop % grep h a.txt -i hello hw Desktop % grep h a.txt -i -n 1:hello 3:hw Desktop % grep h a.txt -i -nv 2:world 4:22 5:aabad 6:ccdd 7:abcd Desktop %
5.查找文件命令
-
常见命令如下:
选项 说明 -name 根据文件名查找文件 -
通配符
- 是一种特殊语句,主要有星号*和问号?,用来模糊搜索文件。
通配符 说明 * 表示0个或者多个任意字符 ? 代表任意一个字符 -
通配符不仅能结合find命令使用,还可以结合其他命令使用,比如ls、mv、cp等,这里需要注意只有find命令使用通配符需要加上引号。
Desktop % find . -name '12.txt' ./12.txt Desktop % find . -name '2*' ./24.md Desktop % find . -name '2*.txt' ./233.txt Desktop % find . -name '2?.txt' Desktop % find . -name '2?.txt' Desktop % find . -name '2??.txt' ./233.txt Desktop %
6.压缩和解压缩命令
-
常见命令如下:
压缩格式 说明 .gz 压缩包后缀 .bz2 压缩包后缀 -
gz和bz2的压缩包需要使用
tar命令来压缩和解压缩。tar命令选项 说明 -c 创建打包文件 -v 显示打包或者解包的详细信息 -f 指定文件名称,必须放在所有选项后面 -z 压缩gz -j 压缩.bz2 -x 解压缩 -C 解压到指定目录 tar -jcvf 1.tar.gz *.txt tar -zcvf 1.tar.bz2 *.txt tar -zxvf 1.tar.gz tar -jxvf 1.tar.bz2 tar -jxvf 1.tar.bz2 -C ./A -
bz2和gz的区别,前者比后者压缩率更高,后者比前者花费更少的时间(在压缩较大文件时)
7.文件权限命令
文件信息
- 第一列:文件类型和权限
- 第二列:
- 第三列:用户名
- 第四列:用户组
- 第五列:文件大小
- 第六列:文件修改时间
- 第七列:文件名
testtweak % ls -lh total 20K -rw-r--r-- 1 coder staff 330 5 5 14:11 Makefile -rw-r--r-- 1 coder staff 135 5 9 17:00 Tweak.x -rw-r--r-- 1 coder staff 56 6 30 14:15 a.txt -rw-r--r-- 1 coder staff 216 5 5 13:55 control drwxr-xr-x 4 coder staff 128 5 9 17:01 packages -rw-r--r-- 1 coder staff 44 5 5 13:55 testTweak.plist coder testtweak %
文件权限
- 文件类型说明:
-表示普通文件d表示文件夹
- 文件权限说明:
- 由三个三元祖字符组成
- 第一个三元字符代表文件所有者用户的权限
- 第二个代表用户组的权限
- 第三个代表其他用户的权限
- r:表示可读
- w:表示可写
- x:表示可执行
- -:表示没有权限
8.文件权限命令
-
常见命令如下:
-
命令
命令 说明 chmod 修改文件权限 -
角色
角色 说明 u user表示该文件的所有者 g group表示用户组 o other表示其他用户 a all表示所有用户 -
操作符
操作符 说明 + 增加权限 - 撤销权限 = 设置权限 -
权限
权限 说明 r 可读 w 可写 x 可执行 - 无任何权限
修改权限方式两种
- chmod 字母法
- chmod u/g/o/a+/-/rwx 文件名
- 给user用户增加权限
chmod u+r 1.txt chmod u+w 1.txt chmod u+x 1.txt chmod u+rw 1.txt chmod u+wx 1.txt chmod u+rx 1.txt chmod u+xw 1.txt chmod u+rwx 1.txt- 给user用户减少权限
chmod u-r 1.txt chmod u-w 1.txt chmod u-w 1.txt chmod u-rw 1.txt chmod u-wx 1.txt chmod u-rx 1.txt chmod u-xw 1.txt chmod u-rwx 1.txt-
其他用户组同理
-
查看权限,此时是可读可写不可执行
coder_wyj@yjwei 未命名文件夹 2 % ls -l total 4 -rw-r--r-- 1 coder_wyj staff 23 6 30 16:52 a.py coder_wyj@yjwei 未命名文件夹 2 %- 增加可执行权限
coder_wyj@yjwei 未命名文件夹 2 % chmod u+x a.py coder_wyj@yjwei 未命名文件夹 2 % ls -l total 4 -rwxr--r-- 1 coder_wyj staff 23 6 30 16:52 a.py- 去掉可读可写权限
coder_wyj@yjwei 未命名文件夹 2 % chmod u-rw a.py coder_wyj@yjwei 未命名文件夹 2 % ls -l total 4 ---xr--r-- 1 coder_wyj staff 23 6 30 16:52 a.py coder_wyj@yjwei 未命名文件夹 2 %- 增加所有人可读可写可执行权限
coder_wyj@yjwei 未命名文件夹 2 % chmod a+rwx a.py coder_wyj@yjwei 未命名文件夹 2 % ls -l total 4 -rwxrwxrwx 1 coder_wyj staff 23 6 30 16:52 a.py coder_wyj@yjwei 未命名文件夹 2 % - chmod 数字法
-
chmod 权限值 文件名
-
权限值
权限 说明 r 可读,权限值是4 w 可写,权限值是2 x 可执行,权限值是1 - 无任何权限,权限值是0 -
给user用户增加权限
chmod 400 1.txt chmod 600 1.txt chmod 700 1.txt- 单独写一个数字,是给其他用户,从后往前
chmod 4 1.txt 其他用户可读权限 chmod 6 1.txt 其他用户可读可写权限 chmod 7 1.txt 其他用户可读可写可执行权限 chmod 44 1.txt chmod 66 1.txt chmod 77 1.txt chmod 666 1.txt 表示所有用户都有可读可写权限 chmod 777 1.txt 表示所有用户都有可读可写可执行权限 -
9.获取管理员权限命令
-
sudo命令的使用
命令 说明 sudo -s 切换到 root用户,获取管理员权限 sudo 某个命令的执行需要获取管理员权限可以在执行命令前面加上sudo whoami 查看当前用户 exit 退出登录用户 who 查看所有的登陆用户 password 修改用户密码,不指定用户默认修改当前登录用户密码 which 查看命令位置 shutdown -h now 立刻关机 reboot 重启
10.远程登陆、远程拷贝
-
常见命令如下:
命令 说明 ssh 远程登陆 scp 远程拷贝 -
ssh 用户名@IP地址 输入密码即可。
-
scp命令格式
-
远程拷贝文件
- scp 本地文件 远程服务器用户名@远程服务器IP地址:指定拷贝到远程服务器的路径。
- scp 远程服务器用户名@远程服务器IP地址:远程服务器文件 指定拷贝到本地的路径。
-
远程拷贝目录
- scp -r 本地目录 远程服务器用户名@远程服务器IP地址:指定考诶到远程服务器的路径。
- scp -r 远程服务器用户名@远程服务器IP地址:远程服务器目录 指定拷贝到本地的路径。
- -r 表示递归拷贝整个目录。