Linux工作常用命令
一、文件相关命令
1:ls :显示当前目录下所有的文件
2:ls -a :列出所有文件,包括以 "." 开头的隐含文件
3:ll :显示当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息,等于是 ls -l 命令
4:du :用于显示目录或文件的大小。一般用来查看文件的大小,比如说看一些dump的日志的文件的大小
5:du -sh * :查询当前目录下所有的文件的大小以K,M,G为单位,提高信息的可读性
A:场景:查看服务器中一个文件(比如日志)大小,在删除磁盘文件的时候能有一个对比,那个文件占用磁盘最大
6:cat :输出当前文件内容
A:场景:一般就是用来查看当前文件的内容,比如说要看下服务器的启动service.sh脚本文件中的内容(cat service.sh)
B:扩展:cat -n fileName 输出文件内容并且在前面加上行号
C:扩展:cat -b fileName 输出文件内容并且在前面加上行号,与上面的不同是会过滤空白行
D:扩展:cat -n textfile1 > textfile2 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里
7:more :跟cat差不多,但是有一个优点就是展示出来的是按照页的形式出来,可以接着按space空格键向下翻页
A: 扩展:more -num 一次显示行数
B: 扩展:more +num 从第num行开始显示
8: chmod :修改当前用户对文件的权限
A: r=4,w=2,x=1,所以想要rxw 读写和可执行权限,那就是4+2+1=7,而一个位数表示一个角色,chmod a=rwx txt1.txt就可以理解为就是 chmod 777 txt1.txt
B: u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
C: + 表示增加权限、- 表示取消权限、= 表示唯一设定权限
D: r 表示可读取,w 表示可写入,x 表示可执行
E: 场景:chmod这个命令实用比较广泛,但是说白了就是一点更改文件权限,但是权限这个东西怎么加,是加所有用户还是其他?是加读写还是去除读写?这个就需要理解 u、g、o、a、+、-、=、r、w、x等含义
F: 扩展:chmod ugo+r txt1.txt 或者 chmod a+r txt1.txt 设置txt1.txt 对所有的用户角色可读
G: 扩展:chmod 777 file ,chmod也可以用数字来代表权限问题
10: diff :用于比较文件的差异
A: 扩展:diff log1.log log2.log -y -W 50并排输出两个文件的不同
11: grep :用于查找文件里符合条件的字符串,这个是最常见的也是日常查询文件最常用的
A: 扩展:grep "aaa" log.log -A 10 ,除了显示符合搜索条件的那一列之外,并显示该行之后的10行内容
B: 扩展:grep "aaa" log.log -B 10 ,除了显示符合搜索条件的那一列之外,并显示该行之前的10行内容
C: 扩展:grep "aaa" log.log | grep "bb" -A 10,同时搜索满足条件以上两个条件的结果,并向下在打印剩下的10行
D: 扩展:grep "aaa" log.log | wc -l,统计满足条件的的次数


12:scp:命令用于 Linux 之间复制文件和目录。可以用来作为下载文件到本地的一种方式。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令
A:打开本地系统服务 文件 远程登入 允许访问 所有用户
B: 输入:scp heap.hprof aobing@172.19.36.87:/Users/aobing/Downloads
C: 输入本机电脑登入密码即可,就能显示当前在下载的进度了
D: 扩展:举一个用法的例子,假设用我自己当前电脑作为演示,怎么去把我们跳板机中的dump文件下载到我们本地,以便于我们自己来分析堆栈呢?
E: 这个是比较常用的方法,可以有其他的用法,就因个人而已吧
13: mkdir :用于创建目录。这个是最简单的了
A: 扩展:mkdir aaaa 创建一个aaaa文件
14: kill :删除执行中的程序或工作,这个需要慎重使用,我们可以一般在我们的电脑卡死,或者我们本地启动tomcat端口被占用了,但是我们又没有找到,可以ps查一下进程ID,然后kill一下
A: 扩展:kill 14269,杀死14269这个进程
B: 扩展:kill -KILL 14269,强制杀死14269这个进程
C: 扩展:kill -9 14269,彻底杀死14269这个进程
15: rm :用于删除一个文件或者目录。在使用这个命令之前需要注意,不要随便执行这个命令,文件一旦通过rm命令删除,则无法恢复所以可能有时候不小心删除某些文件

A: 扩展:rm gc.log.20210506151038 ,删除 gc.log.20210506151038 文件?会跳出一个确定提示,输入 y,则是删除
B: 扩展:rm -f gc.log.20210506151038,不会产生确认删除提示,直接删除文件
C: 扩展:rm -rf gc.log.20210506151038,不会产生确认删除提示,直接删除文件,并且会把当前目录下的所有文件一并删除,非常的暴力
16: ps :(全拼:process status)用于显示当前进程的状态,主要是用来查询当前进程的状态
比如说需要查询一下当前tomcat的相关信息,或者说服务器配置的tomcat的一些启动参数,都是可以看到

A: 扩展:ps -ef | grep 进程关键字,查询某个关键字的进程,如下所示,能显示很多信息。我这里没有复制全,自己可以进公司的服务试一下,不会有问题的
B: 扩展:ps -A,列出所有的进程
C: 扩展:ps -aux,显示所有包含其他使用者的行程
17: pwd :用于显示工作目录,这个命令就很简单了, 没有什么特殊的参数啥的,就是显示当前目录地址

A: 扩展:pwd,跟简单,后面不需再加什么参数,显示一下目录,方便下我们复制文件的目录地址
18: source :这个命令一般就是和**点(.)**是一样的效果,就是修改了某个文件不用重启,而可以立马生效
A: 扩展:source fileName等于. fileName是一个效果。使改动的文件立即生效
19: tail :用于查看文件的内容。通常比如说我们需要查看正在变动的日志文件,那就可以用这个命令了
A: 扩展:tail -f filename,会把 filename 文件里的最尾部的内容显示出来,并且不断刷新,只要 filename 更新就可以看到最新的文件内容
B: tail -20f filename,会把 filename 文件里的最后的20行内容显示出来,并且不断刷新
C: tail -c 20 filename,显示文件 filename 的最后 20 个字符
D: tail -n +20 filename,显示文件 filename 的内容,从第 20 行至文件末尾

浙公网安备 33010602011771号