linux常用命令

一 man命令

代码功能
1标准用户命令(Executable programs or shell commands)
2系统调用(System calls)functions provided by the kernel
3库调用(Library call)functions within program libraries
4特殊文件(设备文件)的访问入口(/dev)Special files (usually found in /dev)
5文件格式(配置文件的语法),指定程序的运行特性 File formats and conventions
6游戏(Games)
7杂项(Miscellaneous)including macro packages and conventions
8管理命令 System administration commands
9跟kernel有关的文件 Kernel routines

二 文件

1、find命令

  格式:find path -name filename
  find ~ -name ap*:在~目录下查找以ap开始的文件;
  find / | xargs grep function:查找系统根目录下面的所有文件的内容中包含有function字符串的文件列表。find 得到的结果是一串文件名集合,如果直接传递给grep的话,grep会把这些文件名看作一些无意义的字符串来处理;但是传递给xargs,他会把他当作一个有意义的文件来处理;
  find . | xargs grep -r "static\ void\ get_file":查找含有空格的文件;
  错误:
  find命令报错:paths must precede expression,原因:多文件的查找的时候需要增加单引号,出现这个提示是因为星号被展开为当前目录下所有的文件,这样的匹配当然会出错。
  -maxdepth: 指定遍历搜索的最大深度;-mindepth: 指定开始遍历搜索的最小深度。

2 文件个数和行数

  源文件数目:

$ find . -name "*\.[hc]" | wc -l
51

  源代码总行数:

$ find . -name "*\.[hc]" | xargs wc -l | tail -n1
25562 总计

  每个文件中的行数:

find . "(" -name "*" ")" -print | xargs wc -l

  调用以下命令即可把每个源代码文件行数及总数统计出来
(1)包括空行(会列出每个文件的代码行数):

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.c" -or -name "*.h" -or -name "*.xib" -or -name "*.pch" ")" -print | xargs wc -l

(2)不包括空行(只会出现总行数):

find . "(" -name "*.m" -or -name "*.mm" -or -name "*.c" -or -name "*.h" -or -name "*.xib" -or -name "*.pch" ")" -print | xargs grep -v "^$"|wc -l
//如果有其它.后缀文件可以继续添加如-or -name "*.java"

3 远程拷贝

  scp命令是用于Linux与Linux主机之间的传输数据通信,而XCOPY命令用于Windows与Windows主机之间的数据传输。
  linux 本地文件上传到服务器:
scp /home/liujia/file.1txt liujia@172.16.252.32:/user/liujia
  从服务器下载文件
scp liujia@172.16.252.32:/user/liujia/file1.txt /home/liujia
  错误not a regular file:原因是这样是相当于下载文件夹,而非文件。解决办法加参数-r

4 软连接

  1. 文件软链接
    ln -s x x(连接名称)
  2. 目录软连接
    ln -s /x/x /x/x
    必须为绝对路径。

5 chown

chown root:root -R filename

三 进程

1、&符号

  用途:可以在Linux命令或者脚本后面增加&符号,从而使命令或脚本在后台执行,例如:$ ./my-shell-script.sh &

2、nohup

  使用&符号在后台执行命令或脚本后,如果你退出登录,这个命令就会被自动终止掉。要避免这种情况,你可以使用nohup命令,如下所示:$ nohup ./my-shell-script.sh &,如果想要找到这个运行在后台的命令:ps -ef | grep filename

3、at

  将一个命令作为批处理执行,使用at命令,你可以让一个命令在指定的日期和时间运行,例如要在明天上午10点在后台执行备份脚本,执行下面的命令:$ at -f backup.sh 10 am tomorrow 在批处理模式下执行某些任务需要启用一些选项。

4、watch

  连续地执行一个命令 要想按一个固定的间隔不停地执行一个命令,可以使用watch命令,如下所示:$ watch df -h

5、查看使用某端口的进程

  lsof -i:<port> (在ubuntu平台上如果前面不加sudo,毛都打印不出来)netstat -tunlp |grep <port>

6、time命令

https://blog.csdn.net/essity/article/details/84578624

四 硬件

1 GPU使用情况

  NVIDIA显卡命令:nvidia-smi

  第一栏的GPU:对应的是显卡的排列号数,可能有多个显卡;Fan:N/A是风扇转速,从0到100%之间变动,这个速度是计算机期望的风扇转速,实际情况下如果风扇堵转,可能打不到显示的转速。有的设备不会返回转速,因为它不依赖风扇冷却而是通过其他外设保持低温(比如我们实验室的服务器是常年放在空调房间里的)。
  第二栏的Name:显卡的名称;Temp:是温度,单位摄氏度。
  第三栏的Perf:是性能状态,从P0到P12,P0表示最大性能,P12表示状态最小性能。
  第四栏下方的Pwr:是能耗;Persistence-M:是持续模式的状态,持续模式虽然耗能大,但是在新的GPU应用启动时,花费的时间更少,这里显示的是off的状态。
  第五栏的Bus-Id:是涉及GPU总线的东西,domain🚌device.function。
  第六栏的Disp.A:是Display Active,表示GPU的显示是否初始化;Memory-Usage:是显存使用情况。
  显存占用和GPU占用是两个不一样的东西,显卡是由GPU和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。

2 df

  整个磁盘剩余空间:df -h
  当前文件夹所占用磁盘空间:du --max-depth=1 -h(默认是当前的路径,-h是文件的大小安装 M 显示。结果中,前面n-1行的是该目录下每个文件夹的大小。最后一行显示的是该目录总的大小。)

3 du

  单个文件大小:du -sh filename

4 fdisk

  sudo fdisk -l

五 软件

1.查看安装的所有软件:dpkg -l,例如:dpkg -l | grep ftp
2.查看软件安装的路径:dpkg -L | grep ftp,也可以用:whereis ftp
3.查看软件版本:aptitude show,例如:aptitude show ftp

六 Linux三剑客

1 grep

  它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep -r "static\ void\ get_file" ../(搜索带空格的字符)

  参数-n:显示行号;-v:反向查找;-i:无视大小写;-E:使用扩展正则;--color:将匹配得到的内容进行语法高亮;-w:全匹配(非模糊匹配)。

2 sed

  sed 参数 + 动作
  参数:-n:将经过处理的行打印出来;-e:默认模式,执行后续命令;-f:将动作写在文件中;-r:使用扩展的RE表达式,默认是基础正则;-i:直接修改文件读取的内容,不是打印在标准输出上。
  动作:
[n1[,n2]]function

  1. a, i + 字符串
    添加一行字符串a在上面一行,i在下面一行
  2. d 删除
  3. c 替换
  4. p 打印 与-n一起用
  5. s 替换,搭配正则表达式
    s/旧字符串/新字符串/g
    特殊
    s/字符串//g
    就把字符串删除了
    例如:
    将windows下文件转移到linux下,会有多余的\r字符,利用sed将其删掉
    sed -i ‘s/\r//g’ filename
  6. /字符串/
    表示包含字符串的行号

3 awk

  awk其名称得自于它的创始人 Alfred Aho 、Peter Weinberger 和 Brian Kernighan 姓氏的首个字母。实际上 AWK 的确拥有自己的语言: AWK 程序设计语言 , 三位创建者已将它正式定义为“样式扫描和处理语言”。它允许您创建简短的程序,这些程序读取输入文件、为数据排序、处理数据、对输入执行计算以及生成报表,还有无数其他的功能。
  awk 是一种很棒的语言,它适合文本处理和报表生成,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。其语法较为常见,借鉴了某些语言的一些精华,如 C 语言等。在 linux 系统日常处理工作中,发挥很重要的作用,掌握了 awk将会使你的工作变的高大上。 awk 是三剑客的老大,利剑出鞘,必会不同凡响。
  使用方法:awk '{pattern + action}' {filenames}
  参数:BEGINEND在开始和结束时可以执行{}内的动作;NF:当前行的字段数;NR:当前的行号;FS:目前的分隔符。
  条件类型可以是逻辑操作,{}内可以是语句,基础:if语句。
  通常,awk是以文件的一行为处理单位的。awk每接收文件的一行,然后执行相应的命令,来处理文本。

七 压缩解压

格式压缩解压
.tartar cvf FileName.tar FileNametar xvf FileName.tar
.gzgunzip FileName.gz
gzip -d FileName.gz
gzip FileName
.tar.gztar zcvf FileName.tar.gz DirNametar zxvf FileName.tar.gz
.bz2bzip2 -d FileName.bz2
bunzip2 FileName.bz2
bzip2 -z FileName
.tar.bz2tar jxvf FileName.tar.bz2tar jcvf FileName.tar.bz2 DirName
.bzbzip2 -d FileName.bz
bunzip2 FileName.bz
.tar.bztar jxvf FileName.tar.bz
.Zuncompress FileName.Zcompress FileName
.tar.Ztar Zxvf FileName.tar.Ztar Zcvf FileName.tar.Z DirName
.tgztar zxvf FileName.tgz
.tar.tgztar zxvf FileName.tar.tgztar zcvf FileName.tar.tgz FileName
.zipunzip FileName.zipzip FileName.zip DirName
.rarrar a FileName.rarrar e FileName.rar
.xzxz -d *.xz
tar参数:
  -c:建立一个压缩文件的参数指令(create 的意思);
  -x:解开一个压缩文件的参数指令;
  -t:查看 tarfile 里面的文件;
  特别注意,在参数的下达中, c/x/t 仅能存在一个,不可同时存在! 因为不可能同时压缩与解压缩。
  -z:是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  -j:是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  -v:压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  -f:使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
大文件压缩分割:
tar -zcvf andywang.tar.gz andywang
#将andywang文件夹压缩成andywang.tar.gz

  压缩后的文件太大,需要将andywang.tar.gz分割成N个指定大小的文件

split -b 4000M -d -a 1 andywang.tar.gz andywang.tar.gz.
#使用split命令,-b 4000M 表示设置每个分割包的大小,单位还是可以k
#-d "参数指定生成的分割包后缀为数字的形式
#-a x来设定序列的长度(默认值是2),这里设定序列的长度为1
#例如:andywang.tar.gz.0001(序列为四,即0001)

  执行命令后,生成压缩包如下:
  andywang.tar.gz.0 andywang.tar.gz.1
  解压命令:

cat andywang.tar.gz.* | tar -zxv

  也可以先把包合起来再解压:

cat andywang.tar.gz.* >andywang.tar.gz
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值