linux常用命令

  • ls  :显示当前目录下所有的文件

  • ls -a :列出所有文件,包括以 "." 开头的隐含文件。

  • ll  :显示当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息,等于是 ls -l 命令

  • du :用于显示目录或文件的大小。一般用来查看文件的大小,比如说看一些dump的日志的文件的大小

  • du -sh * :查询当前目录下所有的文件的大小以K,M,G为单位,提高信息的可读性。

    • 场景:查看服务器中一个文件(比如日志)大小,在删除磁盘文件的时候能有一个对比,那个文件占用磁盘最大
  • cat :输出当前文件内容。

    • 场景:一般就是用来查看当前文件的内容,比如说要看下服务器的启动service.sh脚本文件中的内容(cat service.sh)
    • 扩展:cat -n fileName   输出文件内容并且在前面加上行号。
    • 扩展:cat -b fileName   输出文件内容并且在前面加上行号,与上面的不同是会过滤空白行。
    • 扩展:cat -n textfile1 > textfile2 把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里。
  • more :跟cat差不多,但是有一个优点就是展示出来的是按照页的形式出来,可以接着按space空格键向下翻页

    • 扩展:more -num 一次显示行数。
    • 扩展:more +num 从第num行开始显示。
  • chmod :修改当前用户对文件的权限

    • r=4,w=2,x=1,所以想要rxw 读写和可执行权限,那就是4+2+1=7,而一个位数表示一个角色,chmod a=rwx txt1.txt就可以理解为就是 chmod 777 txt1.txt
    • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
    • + 表示增加权限、- 表示取消权限、= 表示唯一设定权限
    • r 表示可读取,w 表示可写入,x 表示可执行
    • 场景:chmod这个命令实用比较广泛,但是说白了就是一点更改文件权限,但是权限这个东西怎么加,是加所有用户还是其他?是加读写还是去除读写?这个就需要理解 u、g、o、a+、-、=r、w、x等含义
    • 扩展:chmod ugo+r txt1.txt 或者 chmod a+r txt1.txt  设置txt1.txt 对所有的用户角色可读
    • 扩展:chmod 777 file ,chmod也可以用数字来代表权限问题,
  • diff :用于比较文件的差异。

    • 扩展:diff log1.log log2.log -y -W 50并排输出两个文件的不同。
  • grep :用于查找文件里符合条件的字符串,这个是最常见的也是日常查询文件最常用的。

    • $grep 2021-10-27T20:17:20.519+0800 gc.log | wc -l
      1
    • $grep 2021-10-27T21 gc.log | grep 25:33
      2021-10-27T21:25:33.413+0800: 797616.955: [GC (Allocation Failure) 2021-10-27T21:25:33.414+0800: 797616.955: [ParNew: 848318K->18793K(943744K), 0.0263809 secs] 1283786K->454263K(1992320K), 0.0270603 secs] [Times: user=0.09 sys=0.00, real=0.03 secs]
    • 扩展:grep "aaa" log.log -A 10 ,除了显示符合搜索条件的那一列之外,并显示该行之的10行内容。wc

    • 扩展:grep "aaa" log.log -B 10 ,除了显示符合搜索条件的那一列之外,并显示该行之的10行内容。

    • 扩展:grep "aaa" log.log | grep "bb" -A 10,同时搜索满足条件以上两个条件的结果,并向下在打印剩下的10行。

    • 扩展:grep "aaa" log.log | wc -l,统计满足条件的的次数

  • scp : 命令用于 Linux 之间复制文件和目录。可以用来作为下载文件到本地的一种方式。scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

    • 打开本地系统服务  文件  远程登入  允许访问 所有用户
    • 输入:scp  heap.hprof     aobing@172.19.36.87:/Users/aobing/Downloads
    • 输入本机电脑登入密码即可,就能显示当前在下载的进度了
    • 扩展:举一个用法的例子,假设用我自己当前电脑作为演示,怎么去把我们跳板机中的dump文件下载到我们本地,以便于我们自己来分析堆栈呢?
    • 这个是比较常用的方法,可以有其他的用法,就因个人而已吧
  • mkdir :用于创建目录。这个是最简单的了。

    • 扩展:mkdir aaaa 创建一个aaaa文件
  • kill :删除执行中的程序或工作,这个需要慎重使用,我们可以一般在我们的电脑卡死,或者我们本地启动tomcat端口被占用了,但是我们又没有找到,可以ps查一下进程ID,然后kill一下

    • 扩展:kill 14269,杀死14269这个进程
    • 扩展:kill -KILL 14269,强制杀死14269这个进程
    • 扩展:kill -9 14269,彻底杀死14269这个进程
  • rm :用于删除一个文件或者目录。在使用这个命令之前需要注意,不要随便执行这个命令,文件一旦通过rm命令删除,则无法恢复所以可能有时候不小心删除某些文件,第二天新闻就出来“杭州某公司丙某因为执行时rm -rf命令,导致服务器或者数据库 数据丢失 造成严重损失”

    • $rm gc.log.20210506151038
      rm: remove regular file ‘gc.log.20210506151038’? y
    • 扩展:rm gc.log.20210506151038 ,删除 gc.log.20210506151038 文件?会跳出一个确定提示,输入 y,则是删除

    • 扩展:rm -f gc.log.20210506151038,不会产生确认删除提示,直接删除文件

    • 扩展:rm -rf gc.log.20210506151038,不会产生确认删除提示,直接删除文件,并且会把当前目录下的所有文件一并删除,非常的暴力。

  • gzip :用于压缩文件。文件经它压缩过后,其名称后面会多出".gz"的扩展名。当服务器某个文件过大时,你下载非常的慢,所以考虑一下压缩之后再下载。

    • 扩展:gzip gc.log.20210506151038 ,压缩一下文件gc.log.20210506151038,压缩之后会生成一个文件gc.log.20210506151038.gz,这个比较简单,压缩完可以使用上面的 ll 或者 du 等相关命令再查看下文件的大小。
    • 扩展:gzip -<压缩效率> gc.log.20210506151038 , 压缩效率是一个介于1-9的数值,预设值为"6",指定愈大的数值,压缩效率就会愈高,控制压缩比例。
  • ps :(全拼:process status)用于显示当前进程的状态,主要是用来查询当前进程的状态,比如说需要查询一下当前tomcat的相关信息,或者说服务器配置的tomcat的一些启动参数,都是可以看到。

    • $ps -ef | grep tomcat
      www        383   304  0 00:02 pts/0    00:00:00 grep --color=auto tomcat
      www       5579     1  8 Oct22 ?        10:36:09 /opt/vdian/java/bin/java -Djava.util.logging.config.file=/home/www/item-sell/.server/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -server -Xms5g -Xmx5g -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=256m -Xmn2g -XX:MaxDirectMemorySize=512m -XX:SurvivorRatio=8
    • 扩展:ps -ef | grep 进程关键字,查询某个关键字的进程,如下所示,能显示很多信息。我这里没有复制全,自己可以进公司的服务试一下,不会有问题的。

    • 扩展:ps -A,列出所有的进程

    • 扩展:ps -aux,显示所有包含其他使用者的行程

    • 等等还有很多很多,我就举出常用的,一一列举大家不常用也就没有什么意思。

  • pwd :用于显示工作目录,这个命令就很简单了, 没有什么特殊的参数啥的,就是显示当前目录地址。

    • $pwd
      /home/www
    • 扩展:pwd,跟简单,后面不需再加什么参数,显示一下目录,方便下我们复制文件的目录地址。

  • source :这个命令一般就是和**点(.)**是一样的效果,就是修改了某个文件不用重启,而可以立马生效

    • 扩展:source fileName等于. fileName是一个效果。使改动的文件立即生效
  • tail :用于查看文件的内容。通常比如说我们需要查看正在变动的日志文件,那就可以用这个命令了。

    • 扩展:tail -f filename,会把 filename 文件里的最尾部的内容显示出来,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
    • 扩展:tail -20f filename,会把 filename 文件里的最后的20行内容显示出来,并且不断刷新。
    • 扩展:tail -c 20 filename,显示文件 filename 的最后 20 个字符。
    • 扩展:tail -n +20 filename,显示文件 filename 的内容,从第 20 行至文件末尾。

 

 

tail -f 查看日志

:wq 保存并退出编辑模式

:wq! 保存并退出编辑模式 ,忽略文件的只读属性

ls显示当前目录下的文件,ll  显示当前目录下的详细文件信息

chmod:用于改变指定文件访问的权限

 

rwx对于文件代表的意思:
r (read):可读取文件的实际内容
w(write):可以编辑、新增或者是修改该文件的内容
x(execute):该文件具有可以被系统执行的权限

 

chown 改变文件的所有者

chown root int.sh  

 

文件查找:

find  [文件路径]  -name  查找指定目录下面的制定文件

find /etc -name *init

find /ect -name ?init    // ?代表一个字符

find /usr/ect/test -name  -exec rm -rf {} \;

 

locate 【路径】  【文件名】  根据linux中的数据库索引查找文件

touch a.sh 并没有立即写入到数据库索引中

要updatedb以后才会写入

which  查看命令所在的位置

 

tar -zxvf  //解压

tar -zcvf //压缩

 

source /etc/profile 使环境变量生效

 

posted @ 2017-07-22 13:56  lov_ui  阅读(149)  评论(0编辑  收藏  举报