linux之我常用的20条命令(之一)

2022-06-02 14:43:16 浏览数 (2)

cd 切换目录

代码语言:javascript复制
> cd ../  #切换到父级目录
> cd /tmp # 切换到/tmp目录
> cd ~    # 切换到当前用户的家目录

ls命令

查看文件与目录的命令,list的缩写

代码语言:javascript复制
> ls -l  #列出长数据串,包含文件的属性与权限数据等
> ls -a  #列出隐藏文件
> ls -d  # 列出目录本身,而不是列出目录的文件数据
> ls -lh # 将文件容量以较易读的方式(GB,kB等)列出来
> ls -lR  #连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来

grep命令

文本查找

代码语言:javascript复制
>grep -a #将binary文件以text文件的方式查找数据
>grep -c #计算找到查找字符串的次数
>grep -i #忽略大小写的区别,即把大小写视为相同
>grep -v #反向选择,即显示出没有‘查找字符串’内容的那一行
>grep -rl#递归查询目录下的匹配文件

find命令

find是一个基于查找的功能非常强大的命令

代码语言:javascript复制
> find / -name *.txt  #查找系统中所有的.txt文件
> find / -size  300M. #查找系统中文件大小超过300M的文件
> find . -perm 0755 # 查找当前目录中文件权限的0755的文件
> find / -user rumenz #列出文件所有者为rumenz的文件
> find / -group rumenz #列出文件所属用户组为name的文件
> find / -size  300M -exec rm -rf {} ; #查找系统中大于300M的文件,并删除

cp命令

文件复制

代码语言:javascript复制
>cp -a #将文件的特性一起复制
>cp -p #连同文件的属性一起复制,而非使用默认方式,与-a相似,常用于备份
>cp -i #若目标文件已经存在时,在覆盖时会先询问操作的进行
>cp -r #递归持续复制,用于目录的复制行为
>cp -u #目标文件与源文件有差异时才会复制
>cp -rf #文件强制覆盖复制

mv命令

用于移动文件

代码语言:javascript复制
>mv -f  #force强制的意思,如果目标文件已经存在,不会询问而直接覆盖
>mv -i  #若目标文件已经存在,就会询问是否覆盖
>mv -u  #若目标文件已经存在,且比目标文件新,才会更新
>mv -rf #强制递归复制文件

rm命令

删除文件或目录

代码语言:javascript复制
>rm -f #就是force的意思,忽略不存在的文件,不会出现警告消息
>rm -i #互动模式,在删除前会询问用户是否操作
>rm -r #递归删除,最常用于目录删除,它是一个非常危险的参数
>rm -rf / #这是一个危险的命令,会造成系统所有文件丢失
>rm -rf rumenz/* #强制删除rumenz目录下的非隐藏文件
>rm -rf rumenz/* #强制删除rumenz目录下的所有文件,包含隐藏文件

ps命令

查看进程

代码语言:javascript复制
>ps aux  # 查看系统所有的进程数据
>ps ax   # 查看不与terminal有关的所有进程
>ps -lA  # 查看系统所有的进程数据
>ps axjf # 查看连同一部分进程树状态

kill命令

该命令用于向某个工作(%jobnumber)或者是某个PID(数字)传送一个信号

kill -signal PID

signal的常用参数如下:

代码语言:javascript复制
1:SIGHUP,启动被终止的进程
2:SIGINT,相当于输入ctrl c,中断一个程序的进行
9:SIGKILL,强制中断一个进程的进行
15:SIGTERM,以正常的结束进程方式来终止进程
17:SIGSTOP,相当于输入ctrl z,暂停一个进程的进行
代码语言:javascript复制
>kill -9 pid #强制结束pid进程
>kill -9 $(ps -ef | grep nginx)

killall命令

该命令用于向一个命令启动的进程发送一个信号

代码语言:javascript复制
>killall -9 nginx #直接结束nginx进程

killall 后面直接跟上进程名就可以,不用像kill那样,需要先找到进程pid

0 人点赞