【linux】的常用命令整理

597 篇文章 17 订阅
5 篇文章 0 订阅

一、ls命令

就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等

常用参数搭配:

ls -a 列出目录所有文件,包含以.开始的隐藏文件

ls -A 列出除.及…的其它文件

ls -r 反序排列

ls -t 以文件修改时间排序

ls -S 以文件大小排序

ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来(可以直接写成 ll)

实例:

ll name*      #列出当前目录中所有以“name”开头的目录的详细内容

二、cd命令

cd /root/Docements      # 切换到目录/root/Docements  
cd ./path               # 切换到当前目录下的path目录中,“.”表示当前目录    
cd ../path              # 切换到上层目录中的path目录中,“..”表示上一层目录  

三、rm命令

-f : #就是force的意思,忽略不存在的文件,不会出现警告消息  
-i : #互动模式,在删除前会询问用户是否操作  
-r : #递归删除,最常用于目录删除,它是一个非常危险的参数  

#举例
rm -i file # 删除文件file,在删除之前会询问是否进行该操作  
rm -fr dir # 强制删除目录dir中的所有文件  

四、cp命令

-a :将文件的特性一起复制  
-p :连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份  
-r :递归持续复制,用于目录的复制行为   
cp /home/Test.java             #将home路径下的Test.java文件复制到当前目录下
cp -r dir1 dir2                #-r表示递归,将dir1代表的文件夹及里面的文件复制到dir2路径那里
cp -r mysql /usr/local/mysql   #把mysql文件夹所有文件复制到/usr/local/mysql目录下,没有会自动创建目录 
cp file1 file2 file3 dir       #把文件file1、file2、file3复制到目录dir中 

五、mv命令

移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。

-f :force强制的意思,如果目标文件已经存在,不会询问而直接覆盖  
-i :若目标文件已经存在,就会询问是否覆盖  
-u :若目标文件已经存在,且比目标文件新,才会更新  
mv file1 file2 file3 dir  # 把文件file1、file2、file3移动到目录dir中  
mv file1 file2            # 把文件file1重命名为file2  

六、mkdir命令

-m --mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask

-p --parents 递归创建目录

-v, --verbose 每次创建新目录都显示信息

mkdir abc              #创建一个空目录
mkdir -p test/test1    #递归创建多个目录
mkdir -v hao           #创建新目录都显示信息
mkdir -m 777 pc        #创建权限为777的目录

七、pwd命令

pwd        #查看当前路径
pwd -P    #查看软链接的实际路径

八、find命令

-name 按照文件名查找文件

-perm 按文件权限查找文件

-user 按文件属主查找文件

-group 按照文件所属的组来查找文件。

-amin n 查找系统中最后N分钟访问的文件

-atime n 查找系统中最后n*24小时访问的文件

-mmin n 查找系统中最后N分钟被改变文件数据的文件

-mtime n 查找系统中最后n*24小时被改变文件数据的文件

 find ./ -name '*.log'    # 在当前目录查找 以.log结尾的文件。 ". "代表当前目录

 find /opt -perm 777      #查找/opt目录下 权限为 777的文件

 -xargs                   #find命令把匹配到的文件传递给xargs命令,而xargs命令每次只获取一部分文件而不是全部,不像-exec选项那样。这样它可以先处理最先获取的一部分文件,然后是下一批,并如此继续下去。

find / -name mysql|xargs rm -rf   #找到所有文件名为mysql文件,并全部删除。

九、tar命令

只能使用下面的某一个选项来指定tar要执行的动作。可以通过在选项后面跟一个或多个修饰符来改变该选项的行为

-c            创建归档文件

-u            将file-list中的文件添加到归档文件

-x            从归档文件中提取file-list并把它写入磁盘

修饰符

-f filename 使用filename来指出要创建或从中提取的归档文件的文件名

-j 在创建归档文件或从归档文件中提取文件时,使用bzip2方式来进行压缩和解压缩

-z 在创建归档文件或从归档文件中提取文件时,使用gzip方式来进行压缩和解压缩

-v 显示所有过程

-t 列出归档文件中的目录

tar -cvf demo.tar a b c       #将a b c打包成一个名为demo.tar的归档文件,并显示打包的文件
tar -xvf demo.tar             #解压名为demo.tar的归档文件到本目录,并显示解压的文件
tar -zcvf demo.tar.gz a b c   #将a b c 三文件用gzip的方式打包并压缩成demo.tar.gz
tar -zxvf demo.tar.gz         #用gunzip的的方式解压demo.tar.gz文件
tar -jcvf demo.tar.bz2 a b c  #将a b c三文件用bzip2的方式压缩并打包为demo.tar.bz2
tar -jxvf demo.tar.bz2        #将demo.tar.bz2用bunzip2的方式解压缩到当前目录
tar -cvf jpg.tar *.jpg        #将目录里所有jpg文件打包成tar.jpg

十、ps命令

ps(process status),用来查看当前运行的进程状态,一次性查看,如果需要动态连续结果使用top

linux上进程有5种状态:

 1. 运行(正在运行或在运行队列中等待)

 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)

 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)

 4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)

5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

命令参数:

     -A 显示所有进程

     a 显示所有进程

    - e 显示环境变量

    - f 显示进程间的关系

     r 显示当前终端运行的进程

     -aux 显示所有包含其它使用的进程
ps -A                #显示所有进程信息
ps -u root           #显示指定用户信息
ps -ef               # 显示所有进程信息,连同命令行
ps -ef |grep java    #显示java 进程是否存在
  #grep命令是查找,中间的|是管道命令 是指ps命令与grep同时执行
ps -aux |grep java   #显示java 进程是否存在
  #上面两个其实没有多大区别只是:aux可以查看进程的CPU占用率和内存占用率。ef可以查看进程的父进程ID和完整的COMMAND命令

十一、top命令

top显示系统当前的进程和其他状况,是一个动态显示过程,显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

常用参数:

     -c 显示完整的进程命令

     -s 保密模式

     -p <进程号> 指定进程显示

     -n <次数>循环显示次数

-d 指定每两次屏幕信息刷新之间的时间间隔。

top       #每隔5秒显式所有进程的资源占用情况(默认是5秒)
top -d 2  #每隔2秒显式所有进程的资源占用情况
top -c    #每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)
top -p 12345 -p 6789   #每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况
top -d 2 -c -p 123456  #每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

十二、kill命令

发送指定的信号到相应进程。

常见参数

    HUP    1    终端断线

    INT     2    中断(同 Ctrl + C)

  QUIT    3    退出(同 Ctrl + \)

TERM   15    终止

   KILL    9    强制终止

CONT   18    继续(与STOP相反, fg/bg命令)

STOP    19    暂停(同 Ctrl + Z)
 kill -15 pid    #让进程正常退出 。 既然信号 15 是退出进程的正确方式,那它也应该是最常用的方式,因而我们可以省略参数 -15。
 kill -9 pid     #当进程出现了异常状况,不能通过信号15正常退出时,我们就需要通过非常的手段直接终结掉进程。所谓的非常手段就是传递信号 9 给目标进程!
 kill -15 $(ps -ef | grep peidalinux)   #杀死指定进程
     #不是特殊情况,建议有15就可以了,慎用9

十三、chmod命令

用于改变linux系统文件或目录的访问权限。用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。

常用参数:

     -c 当发生改变时,报告处理信息

     -R 处理指定目录以及其子目录下所有文件

权限范围:

     u :目录或者文件的当前的用户

     g :目录或者文件的当前的群组

     o :除了目录或者文件的当前用户或群组之外的用户或者群组

     a :所有的用户及群组

三种基本权限

R 读 数值表示为4

W 写 数值表示为2

X 可执行 数值表示为1

在这里插入图片描述 如图所示,dump.rdb文件的权限为-rw-r–r--

-rw-r–r--一共十个字符,分成四段。

第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6

第五六七个字符“r–”表示当前所属组的权限。 所以用数值表示为4

第八九十个字符“r–”表示其他用户权限。 所以用数值表示为4

所以操作此文件的权限用数值表示为644

更改权限

sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名

例如:有一个文件filename,权限为“-rw-r----x” ,将权限值改为"-rwxrw-r-x",用数值表示为765

sudo chmod u+x g+w o+r filename

上面的例子可以用数值表示

sudo chmod 765 filename

十四、grep命令

强大的文本搜索命令,grep(Global Regular Expression Print)全局正则表达式搜索

grep太强大了,我这里就举几个常见的。

ps -ef|grep svn                  #查找指定进程
grep -n 'li' nginx.conf          #在nginx.conf查找包含"li"的行,同时显示行号
grep 'linux' test.txt test2.txt  #从多个文件中查找关键词

在这里插入图片描述

十五、vim命令

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:

           :q                      退出

          :q!                     强制退出

         :wq                   保存并退出

         :set number     显示行号

         :set nonumber  隐藏行号

          /apache            在文档中查找apache 按n跳到下一个,shift+n上一个

           yyp                   复制光标所在行,并粘贴

          h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

十六、cat命令

cat主要有三大功能:

       1.一次显示整个文件:cat filename

       2.从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

       3.将几个文件合并为一个文件:cat file1 file2 > file

      -b对非空输出行号

      -n输出所有行号
cat -n nginx.conf                        #查看文件并显示行号
cat -n log2012.log log2013.log           #把 log2012.log 的文件内容加上行号后输入 log2013.log 这个文件里
 cat -b log2012.log log2013.log log.log  #把 log2012.log 和 log2013.log 的文件内容加上行号(空白行不加)之后将内容附加到 log.log 里

在这里插入图片描述

十七、more命令

功能类似于cat, more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示

命令参数:

     +n      从笫n行开始显示

     -n       定义屏幕大小为n行

     +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 

     -c       从顶部清屏,然后显示

     -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能

     -l        忽略Ctrl+l(换页)字符

     -s       把连续的多个空行显示为一行

 常用操作命令:

     Enter    向下n行,需要定义。默认为1行

     空格键  向下滚动一屏

     Ctrl+B  返回上一屏

     =       输出当前行的行号

     V      调用vi编辑器

     !命令   调用Shell,并执行命令

     q       退出more
ls -l | more -5   #在所列出文件目录详细信息,借助管道使每次显示5行 按空格键显示下五行,enter向下1行。具体看上面参数。
more +3 text.txt  #显示文件中从第3行起的内容

十八、less命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

十九、tail命令

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

     常用参数:

     -f 循环读取(常用于查看递增的日志文件)

     -n<行数> 显示行数(从后向前)
 tail -f ping.log  #循环读取逐渐增加的文件内容

这个可以用来看正式服报错日志

二十、chown命令

chown将指定文件的拥有者改为指定的用户或组,用户可以是用户名或者用户ID;组可以是组名或者组ID;文件是以空格分开的要改变权限的文件列表,支持通配符

     -c 显示更改的部分的信息

     -R 处理指定目录及子目录
 chown mail:mail log2012.log   #改变拥有者和群组

在这里插入图片描述

chown root: log2012.log      #改变文件拥有者和群组
chown :mail log2012.log      #改变文件群组
chown -R -v root:mail test6  #改变指定目录以及其子目录下的所有文件的拥有者和群组

在这里插入图片描述
希望本文对你有所帮助~~如果对接口测试、自动化测试、面试经验交流感兴趣可以加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值