Linux 常用命令
打印工作目录
- pwd
切换工作目录
- cd /:切换到系统根目录
- cd ~:切换到用户家目录
- cd ..:切换到上一层目录
- cd -:切换到上一次操作所在目录
- cd /etc:切换到根目录下的 etc 目录
- cd ~/bbb:切换到用户家目录下的 bbb 目录
- cd ../etc:切换到上一层目录下的 etc 目录
- cd bbb:切换到当前目录下的 bbb 目录
- cd ./bbb:切换到当前目录下的 bbb 目录
目录创建、删除
- mkdir aaa:创建目录 aaa
- mkdir -p aaa/bbb:在 aaa 目录下创建 bbb 目录,如果 aaa 目录不存在,先创建 aaa 目录
- rmdir aaa:删除目录 aaa,aaa 必须是空目录
文件创建、删除
- touch a.txt:创建一个空文件
- rm a.txt:询问删除文件
- rm -f a.txt:不询问直接删除文件
目录查看
- ls:查看目录下的文件和目录信息
- ll:ll 是 ls -l 的别名,查看目录下的文件和目录的详细信息
文件查看
- cat install.log:查看 install.log
-
more install.log:分步查看文件,一般用于要显示的内容会超过一个画面长度的情况
- 按回车显示下一行数据
- 按空格显示下一屏数据
- 按 q 退出查看
-
less install.log:和 more 类似,分步查看文件
- 按 PgUp 查看上一屏数据
- 按 PgDn 查看下一屏数据
- 按 k 查看上一行数据
- 按 j 查看下一行数据
- 按 q 退出查看
-
tail:用于查看文件后几行的数据
- tail -3 install.log:查看 install.log 最后 3 行的数据
- tail -f catalina.out:动态查看,ctrl + c 结束查看
文件查找
-
find / -name anaconda-ks.cfg:查找 / 下文件名为 anaconda-ks.cfg
/root/anaconda-ks.cfg
-
find / -name cata*.log:查找 / 下文件名以 cata 开头、.log结尾的文件
/root/apache-tomcat-7.0.57/logs/catalina.2020-08-16.log /root/apache-tomcat-7.0.57/logs/catalina.2020-08-19.log
字符串查找
-
cat grade.txt
1 LiuBei 99 2 GuanYu 88 3 ZhangFei 77 4 CaoCao 75 5 ZhouYu 68 6 SunQuan 56 7 GuanYu 52 8 ZhangFei 51
-
grep ZhouYu grade.txt:将 grade.txt 里包含 ZhouYu 的行都打印出来,即查看 ZhouYu 的成绩
5 ZhouYu 68
-
grep ZhouYu grade.txt -A1 -B2:查看 ZhouYu 的成绩,和他前 2 名 和 后 1 名 的人的成绩
3 ZhangFei 77 4 CaoCao 75 5 ZhouYu 68 6 SunQuan 56
-
grep GuanYu grade.txt -A1 -B2:查看 GuanYu 的成绩,和他前 2 名 和 后 1 名 的人的成绩,可以看到有两人叫 GuanYu,用 -- 分隔
1 LiuBei 99 2 GuanYu 88 3 ZhangFei 77 -- 5 ZhouYu 68 6 SunQuan 56 7 GuanYu 52 8 ZhangFei 51
-
grep GuanYu grade.txt --color -A1 -B2:查看 GuanYu 的成绩,和他前 2 名 和 后 1 名 的人的成绩,并将 搜索关键字 GuanYu 高亮显示
普通文件、目录文件操作
- cp:复制、如果需要可以重命名
- cp a.txt bbb:若存在 bbb 目录,则是复制 a.txt 到 bbb,否则就是将 a.txt 复制到本目录并重命名为 bbb
- cp -r aaa bbb:递归复制,可以复制文件夹
- mv:移动、如果需要可以重命名
- mv a.txt bbb:若存在 bbb 目录,则是移动 a.txt 到 bbb,否则就是将 a.txt 重命名为 bbb
- mv aaa bbb:移动文件夹,不需要加 -r 参数
- rm:删除
- rm a.txt:询问删除 a.txt
- rm -f a.txt:不询问删除 a.txt
- rm -rf aaa:不询问递归删除 aaa,aaa 可以删除文件夹
- rm -r aaa:询问递归删除 aaa,aaa 可以删除文件夹
- tar:打包、解包
- tar -cvf a.tar apache-tomcat-7.0.57:打包
- tar -zcvf b.tar.gz apache-tomcat-7.0.57:打压缩包
- tar -xvf a.tar:解包,工作目录下会还原出 apache-tomcat-7.0.57 目录以及里面的文件
- tar -xvf a.tar -C aaa:解包,工作目录/aaa目录下会还原出 apache-tomcat-7.0.57 目录以及里面的文件
- tar -zxvf b.tar.gz:解压缩包,工作目录下会还原出 apache-tomcat-7.0.57 目录以及里面的文件
- tar -zxvf b.tar.gz -C aaa:解压缩包,工作目录/aaa下会还原出 apache-tomcat-7.0.57 目录以及里面的文件
输出重定向 >,>>
- 覆盖:ifconfig > ipconfig.txt
- 追加:ifconfig >> ipconfig.txt
管道 |
管道是linux命令中一个重要的概念,其作用是将一个命令的输出用作另一个命令的输入。
- ls --help | more:分页查询帮助信息
- ps -ef | grep java:查找某一进程
系统管理
- ps -ef:查看所有进程
- ps -ef | grep java:查找某一进程
- kill 6020:杀死 PID 为 6020 的进程
- kill -9 6020:强制杀死 PID 为 6020 的进程
权限
引入
- cd /etc
-
ll
drwxr-xr-x. 3 root root 4096 Aug 15 02:14 abrt drwxr-xr-x. 4 root root 4096 Aug 15 02:21 acpi -rw-r--r--. 1 root root 44 Aug 15 02:27 adjtime
每一行的前 10 个字符可以分为四组: - --- --- ---,分别表示文件类型,文件所有者具有该文件的权限,文件所有组具有该文件的权限,其他用户具有该文件的权限。
文件类型
- d:目录文件
- -:普通文件
- l:软链接文件(可以认为是 Windows 中的快捷方式)
权限类型
- r:可读,也可以用数字 4 表示
- w:可写,也可以用数字 2 表示
- x:可执行,也可以用数字 1 表示
对于普通文件和目录文件,读写执行表示不同的含义。
对于普通文件:
权限名称 | 可执行操作 |
---|---|
r | 可以使用 cat 查看文件的内容 |
w | 可以修改文件的内容 |
x | 可以将其运行为二进制文件 |
对于目录文件
权限名称 | 可执行操作 |
---|---|
r | 可以查看目录下列表 |
w | 可以创建和删除目录下文件 |
x | 可以使用 cd 进入目录 |
修改权限
- chmod u=rwx,g=rx,o=rx a.txt
- chmod 755 a.txt
清屏
- clear
- ctrl + l