基础部分
命令
- ls —— 查看当前目录信息
- tree —— 以树状方式显示目录
- pwd —— 查看当前目录路径
- clear —— 清屏
- cd —— 改变目录
- cd .. —— 却换到上一级目录
- cd - —— 切换到上一次目录
- touch 文件名 —— 创建指定文件
- mkdir 目录名 —— 创建目录
- rm 文件名/目录名 —— 删除指定文件/目录名
- rmdir 目录名 —— 删除空目录(只能删除空目录)
- cp —— 复制文件、目录
- mv —— 移动文件、目录,重命名
- command --help —— 查看命令帮助
- man command —— 查看命令帮助
选项
- ls -l —— 以列表方式显示详细的当前目录信息
- ls -h —— 智能显示文件大小
- ls -a —— 显示隐藏文件和目录
- mkdir -p —— 创建多级目录
- rm -i —— 交互式提醒,在操作前询问使用者是否执行
- rm -r —— 递归删除目录
- rm -f —— 强制删除
- cp/mv -i —— 交互式提示,在操作前询问使用者是否执行
- cp -r —— 递归复制
- cp/mv -v —— 显示拷贝/移动后的路径描述
进阶部分
1. 重定向命令
重定向也称为输出重定向,把在终端执行命令的结果保存到目标文件。
- > —— 如果文件已存在,覆盖掉
- >> —— 如果文件已存在,追加
如:
ls > a.txt 就把 ls 的本该在终端输出的信息,加载到了a.txt 文件中了,原文件中的信息被覆盖
ls >> a.txt 追加到 a.txt 文件的后面
2. 查看文件内容命令
- cat —— 查看小型文件
- more —— 查看大型文件(F 下一页,B 上一页,Enter 下一行,Q 退出)
- | —— 管道,| 左边命令的输出会作为 | 右边命令的输入,相当于一个容器
如:
tree /bin/ | more 把bin目录按tree方式存储到通道 | 中,再以more方式打开
3. 链接命令
软链接
类似于快捷方式,快速访问层级较深的文件
- ln -s —— 创建软链接(s 是 soft )
如:
ls -s ./A/B/C/hello.py hello_s1.py 把A/B/C/文件中的hello.py 创建一个 hello_s1.py 到当前路径(该方法为相对路径,移动快捷方式的地址会导致不可用)
4. 查找文件内容命令
4.1 grep命令及选项的使用
- grep —— 查找/搜索文件内容
- grep -v —— 显示不包含匹配文本的所有行
- grep -n —— 显示匹配行号
- grep -i —— 忽略大小写
如:
grep “hello” a.txt 全文搜索hello (不加双引号也行)
grep h a . txt -i 全文搜索包含小写和大写h的所有行
4.2 grep命令结合正则表达式
- ^ —— 以指定字符串开头
- $ —— 以指定字符串结尾
- . —— 匹配一个非换行符的字符
如:
grep ^h a.txt 全文搜索以h开头的所有行
grep h.l a.txt 全文搜索有h有l,且h和l中间有字符的所有行
5. 查找文件命令
5.1 find命令及选项的使用
- find —— 在指定目录下查找符合条件的文件
- fiind -name —— 根据文件名查找文件
如:
find . -name “a.txt” 在当前目录下查找名为a.txt 的文件
5.2 通配符
用来模糊搜索文件
- * —— 代表0个或多个任意字符
- ?—— 代表任意一个字符
如:
find . -name "a * " 表示查找当前目录下名字有a,后面不清楚的文件
find . -name "a*.txt " 表示。。。。,叫做 a … .txt 的文件
find . -name "a?? . txt "
6. 压缩和解压缩命令
6.1 压缩格式
- . gz —— 压缩包后缀(压缩率低,耗时短)
- . bz2 —— 压缩包后缀(压缩率搞,耗时长)
6.2 tar命令及选项的使用
- tar —— 压缩和解压命令
- tar -c —— 创建打包文件
- tar -v —— 显示打包或者解包的详细信息
- tar -f —— 指定文件名称,必须放到所有选项后面
- tar -z —— 压缩( . gz )
- tar -j —— 压缩( . bz2)
- tar -x —— 解压缩
- tar - C —— 解压缩到指定目录
如:
tar -cvf 1 . tar * . txt 把当前目录所有txt文件打包到1 . tar 中
c 创建一个tar包,v 显示详细信息,f 表示打包成 1. tar(注意当前未压缩)
tar -zcvf 1.tar.gz * . txt
tar -jcvf 2.tar.bz2 * . txt
7. 文件权限命令
- 第一列 —— 文件类型和权限
- 第三列 —— 用户名
- 第四列 —— 用户组
- 第五列 —— 文件大小
- 第六列 —— 文件修改时间
- 第七列 —— 文件名
文件类型和权限
- - 表示普通文件
- d 表示文件夹
后九个字符由三个三元字符组成
- 第一个三元字符组 代表文件所有者用户权限
- 第二个三元字符组 代表文件用户组的权限
- 第三个三元字符组 代表其他用户的权限
r 可读,w 可写,x 可执行,- 没有权限
修改文件权限
- chmod —— 修改文件权限
修改方式:
- 字母法
- chmod u/g/o/a + /-/ = rwx 文件名
角色
u —— user 表示该文件的所有者
g —— group 表示用户组
o —— other 表示其他用户
a —— all 表示所有用户
操作符
+ —— 增加权限
- —— 撤销权限
= —— 设置权限
如:
chmod u-r a.py 撤销文件 a.py user的可读权限
- 数字法
- chmod 权限值 文件名
权限
r —— 可读,4
w —— 可写,2
x —— 可执行,1
- —— 无权限,0
如:
chmod 000 a.py 把a.py权限全部撤销
chmod 44 a,py 从后往前设置权限可读
chmod 644 a.py 把user权限设置为可读可写(6=4+2)
8.获取管理员权限的相关命令
- sudo -s —— 切换到 root 用户,获取管理员权限
- sudo —— 某个命令的执行需要获取管理员权限,可以在执行命令前加上sudo
如:
sudo rm a.txt 用管理员身份删除 a.txt 文件
拓展:
- whoami —— 告诉自己是什么身份(root还是什么身份),类似于pwd
- who —— 检查所有使用我电脑的用户,包括自己和远程登录的身份
- passwd —— 设置密码
- which 命令 —— 查看命令位置
- shutdown -h now —— 立刻关机
- reboot —— 重启
9.远程登录、远程拷贝命令
- ssh —— 远程登录
- scp —— 远程拷贝
scp命令的使用
- 远程拷贝文件:
- scp 本地文件 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
- scp 远程服务器用户名@远程服务器ip地址:远程服务器文件 指定拷贝到本地的路径
- 远程拷贝目录:
- scp -r 本地目录 远程服务器用户名@远程服务器ip地址:指定拷贝到远程服务器的路径
- scp -r 远程服务器用户名@远程服务器ip地址:远程服务器目录 指定宝贝到本地的路径