linux常用命令语句(全)

  • Post author:
  • Post category:linux



ls:查看目录下的内容(不包括隐藏文件)前缀为.的为隐藏文件        ls [操作选项]




ls -a/ls –all:查看一切文件(包括隐藏文件)

ls -c:查看一切文件并按生成时间排序(不包括隐藏文件)

ls -A:查看一切文件名,不包括(..)

ls -l:长列表格式

ls -h: 查看一切文件名(除了.和..)

ls -n:显示uid、gid


cd:目录跳转        cd 目录名


pwd:打印工作目录        pwd [操作选项]



-L:显示逻辑工作目

-P:显示物理工作目录


cp:拷贝        cp [操作选项]  文件名 目录名



-i:复制文件,若文件存在,询问用户是否继续复制

-r:递归复制        当复制dir目录时用-r复制

-a:pdr的集合


相当于-p -d -r一起的效果

-p:连同文件属性一起拷贝


———–这个就不用做演示了,字面意思

-d:若源文件为连接文件的属性,则复制连接文件


———–这个就不用做演示了,字面意思

-s:拷贝为软连接

-l:拷贝为硬链接

-u:源文件比目的文件新才拷贝


———–这个就不用做演示了,字面意思


mv:移动文件及目录        mv 文件名 目录名



-i:移动时,Linux会叫你确认是否移动

-f:强制移动

-u:版本必须更新才能移动


rm:删除文件及目录        rm 文件名

-i:互动模式,删除时,Linux会叫你是否确认移动

-r:递归删除

—————–字面意思

-f:强制删除

—————–字面意思


mkdir:创建目录        mkdir 新建目录名



-p:自动创建父目录

由于没有test目录,那肯定没有test/test以及test/test/test目录,直接mkdir是不能创建的,那么mkdir -p test/test/test就会直接生成当前目录下的test目录以及test/test目录以及test/test/test目录

-m:设置权限






—————–不知道咋设置


rmdir:删除目录        删除时确保目录为空,rm不能删除目录

-p:删除祖先

同理,如果当前在test目录下进行rmdir /test/test/test的操作

那么只会删掉/test/test/test这一个目录

如果rmdir -p test/test/test的话就会删掉test、test/test以及test/test/test


tree:打印目录树


tar:文件归档与压缩        tar 文件名


ln:创建链接文件(生成文件快捷方式—-软连接)

ln -s 源文件 新建文件名:新建文件是源文件的快捷方式(浅拷贝)

ln 源文件 新建文件名:新建文件是源文件的深拷贝


touch:创建空白文件        touch 新建文件名

-a:仅修改访问时间

-c:仅修改文件的时间,若文件不存在,不新建

-d:修改文件日期

-m:仅修改mtime

-t:修改文件时间

可以修改Access time,Modify time为2000年12月12日10点31分14秒


head:查看文件头部



-n num:显示前num行

-n -num:除了前num行外,其它都显示


cat:查看文件内容



-A:相当于-VET


—————————同时有-v -e -t的功能

-v:列出看不出的字符


————-也不知道什么是看不出的字符

-E:显示换行符为$        ——————-字面意思咯

-T:显示TAB为^I

-b:列出行号

-n:列出行号,连空号也编号


tac:反向查看文件内容        tac 文件名


nl:查看文件内容且列出行号        nl 文件名        和cat -b 文件名一模一样


tail:查看文件尾部




-n num:显示文件后num行

-n +num:除了前num – 1行,其它都显示


vim:文本编辑器

———————–这个不用多说


diff:对比文件                        diff 文件名1 文件名2


more:分页查看文件

直接用感觉有点像cat呢,不知道是不是错觉



+/string:查找string关键字

f:离开                                ————在more完了显示的时候按 f 退出离开

q:离开                               ————在more完了显示的时候按 q 退出离开

?:查看其它命令


wc:计数        wc【操作选项】 文件名



less:分页查看文件        less和more可以对关键字进行查找而cat\tac\head\tail不行,但是less\more不能列出行号,其它四个都可以

+/string:查找string关键字

?string:反向查找string关键字


——————–不知道怎么使用,没试出效果

n:继续向下查找


上图是开始的样子,现在按一次n


再按一次n

现在按一次N

这下应该很清楚是什么意思了

N:继续反向查找                        ——-上图有展示

q:退出                                ——–这个和more是一样的


echo:打印文本



unset:取消变量内容


grep:检索信息(有点像if)


find:查找文件                        查找是否有该文件


which:查找可执行文件                which 文件名        具体查找可执行文件路径,通常在bin目录


locate:定位任何文件        locate 文件名      find是查找是否有该文件,而locate是定位该文件


whereis:查找可执行源码、帮助手册        whereis 文件名


useradd:新建用户        useradd 新用户名


chgrp:修改所属组        chgrp 所属组 文件名

chgrp root file:修改file所属组为root


userdel:删除用户        userdel 已有用户名

-r相当于递归删除用户相关的文件和目录


chmod:修改文件权限

修改文件权限:chmod 774(权限编号) 文件名

给脚本文件a.sh的其它(other)增加可写权限

给脚本文件a.sh的其它(other)、用户(user)、组(group)分别减去可写、可执行、可执行的权限

给脚本文件a.sh的所有用户减去可执行权限,a就是all的意思

给脚本文件a.sh的user和group增加可执行权限


usermod:修改用户


chown:修改文件所属者


passwd:修改密码


logout:退出用户

———————字面意思


su:切换用户


exit:退出用户

——————–字面意思


sudo:获取管理员权限

可以不登录root用户却获取root的权限就在命令最前面加一个sudo


ps:打印进程


ctrl + z:挂起前台进程

——————–字面意思,挂起不执行


kill:终止进程        kill 进程pid


fg:进程调至前台                调至前台,开始执行


pkill:批量终止进程                ————–暂时不会使用


bg:挂起的进程后台执行

—————————字面意思


killall:批量杀死进程                —————-暂时不会使用


jobs:查看挂起和后台进程


crontab:定时任务                ——————不知道咋使用


date:查看时间


dstat:查看系统信息



每隔2秒,更新一条数据


1秒更新一次

只更新了三次


stat:查看文件ACM(atime、ctime、mtime)        stat 文件名

atime(access time):内容被取用时,更新这个读取时间

ctime:(status change time),权限,属性,所有者改动时,更新这个时间

mtime(modify time):内容数据改动时,更新这个时间


df:查看文件系统


nmon:查看系统信息                ——————-使用不对


du:获取文件大小


ifconfig:查看IP信息


free:查看内容

-b/k/m/g:分别以字节,KB,M,G显示

-o:忽略缓冲区调节列

-s seconds:每隔seconds执行一次free

-h:以可读形式显示


uname:查看OS信息


top:查看系统信息


last:查看最近登陆


htop:查看系统信息


who:查看当前登陆                                —————输入没有相应


ssh:远程登陆                        —————–暂时还不会使用


ping:测试远程主机



scp:远程拷贝                        ————————-暂时还不会使用


reboot:重启

—————————字面意思


wget:获取http文件


poweroff:关机

—————————字面意思


file 文件名:判断文件类型


clear:清空终端所有信息

clear之前


clear之后


source 文件名:加载该文件                                                                ——还不会用


alias ll = “ls -la”:给ls -la起别名ll

—————–字面意思


uptime:打印系统运行时长和平均负载



-p:以批量的格式显示时间

-s:显示系统启动的时间

-V(大写)/–v(小写):输出版本信息


last:显示用户最近登陆信息

-f 文件名:制定文件记录

-n 数字:指定输出记录数

-x:显示系统关机,重新关机等信息


date:显示或设置系统时间与日期



-d “string”:显示字符串所指的日期

-s “string”:设置时间

-u:显示GMT(如果是CST情况下)

<+format>:显示使用的日期格式


w:当前用户列表及正在执行的任务



-h:不打印头信息

-s:使用短输出格式

-f:切换显示FROM项


whoami:打印当前有效的用户名


uname:打印当前系统信息



-a:全部信息

-s:内核名字

-n:网络主机名字

-r:系统发行编号

-v:os版本与时间

-m:主机类型

-p:处理器类型

-i:硬件平台

-o:操作系统名字


cal:打印日历



-1, -3:显示最近一个月和三个月的日历                ——没试出来

-j:显示一年的第几天

-y:显示当前年

参数:指定月份、指定年份                        ————不会用


man 命令名:查询命令的使用方法/手册                ———–这个不用多说了吧


sudo apt update:更新软件列表                        ——————–不多说


write:给其它用户发送信息

——————字面意思



write 用户名 [终端号]


sudo -i:切换到root用户

——————字面意思


mesg n:不收到信息

——————字面意思


wall 信息:给所有用户发信息(广播)                ————还不懂


basename:取文件名



dirname:取目录名




rm:删除                rm 文件名


NL:输出行号显示文件





离谱




-b:行号指定的方式

-b a:相当于cat -n

-b t:相当于cat -b

-n:列出行号的表示方法

-n ln:行号在屏幕最左边显示

-n rn:行号在自己字段的最右边显示

-n rz:行号在自己字段的最右边显示,前面自动补全

-w<num>:行号所占位数


lsattr:查看文件的隐藏属性

lsatter 【操作选项】 文件名/目录名



-a:打印隐藏文件的隐藏属性

-d:如果是目录,仅打印目录信息

-R:递归


chatter:修改文件的隐藏属性



A:不修改atime

S:同步写入

a:只能增加数据

c:自动压缩、解压

d:不会dump程序备份

i:不能删除、修改、建立连接

s:文件删除时,直接从磁盘删除

u:文件删除时,数据内容存在磁盘中


hostnamectl set-hostname 名字:设置云主机名字


lastlog:打印每个账号的登陆时间


touch:修改文件与新建文件



-a:仅修改访问时间(atime)

-c:仅修改文件时间,若文件不存在,则不新建(ctime)

-m:仅修改mtime

-d:修改文件日期

-t:修改文件时间【yymmddhhmm】


which:寻找执行文件

例如:which cat

which ls

which bash等

which 非PASH路径的a.out是不行的哦

which找到一个文件路径就结束查找


whereis:寻找特定文件

可查找多个文件路径



-b:只查找二进制文件

-m:只查找manual路径下文件

-s:只查找source源文件

-u:查找其它文件


locate:搜索文件(可部分查找)locate 文件名


locate是模糊定位,只要带有文件名的,都会被找出来


例如locate print


结果可能为 printf      print_outline等等

-i:忽略大小写

-r:后面可接正则表达式


find:多样化高级查询

在根目录找名字为TestGroup组的文件

在根目录找名字为TestUser1的文件

在.中找大小大于4096的文件

找名字为printf.c的文件且把找出的结果放在ls -l 的{}括号中进行

在根目录中找用户组权限为rws的文件

ls -l 查找到的结果



-mtime n:n天前的“一天之内”修改的文件

-mtime +n:n天之前(不包含n),修改过的文件

-mtime -n:n天之内,包含n,修改过的文件

-newer file:比file还要新的文件

-uid n:用户UID为n

-gid n:群组Gid为n

-user name:用户名为name

-group name:群组名为name

nouser:文件所有者不存在

nogroup:文件所在组不存在

-name filename:文件名为filename

-size 【+/-】 SIZE:查找比SIZE更大或者更小的


chsh:修改用户shell


id:显示用户信息

-g:有小组ID

-G:显示附加组ID

-n:显示用户,所属组,或附加群组的名称要结合-ugG

-u:显示用户id


gpasswd:修改组密码        gpasswd 【操作选项】 组名



-a 用户名:将用户加入群组

-d 用户名:将用户剔除群组

-r:删除密码

-A 用户名:将用户名设置为群管理员

-M 用户名,用户名……:设置群组成员


pstree:以树状显示进程派生关系


pgrep:查找进程ID


pkill:批量按照进程名杀死进程


cut:切分

-d:切分的是符号例如“: []”;”

-f:只与-d搭配使用

-c:切分的是数字例如“dafj123456”

取a.cpp的第一列到第五列数据


sort:排序

默认sort排序是先排0-9,再排a-z,a-z之间优先大写再排小写

sort -n:默认先排a-z,再排0-9,a-z中优先排大写,再小写,0-9中优先排数字少的,再排数字多的

对text.log进行操作:-t  以” “为分隔符,-k选择第五行 n进行数字排序,n必不可少

如果有数字相同的情况下,sort -t ” ” 以 “ ”为分隔符,-k 选择第五行,n进行数字排序,r选择数字排序中的逆序,第二个-k意思是一样,但是第一个-k的优先级要高于第二个优先级


uniq:去重

只去除该单词上下相邻的重复项


split:文件切分

每三行拆分出来放在一个文件中


tr:替换、压缩和删除

将所有不是a-z的字符都换成-

把=全部换成:


grep:检索

-v就是检索不要wtmp,不要换行符”^$”的给输出出来


wc:统计字符、字数、行数


tee:双向重定向


xargs:参数代换

没有xargs,就会有局限性如上,最后执行的不是ls -l xav

bc:用于做基础的计算


seq:生成序列       seq n m:生成一个n到m的序列,如下:


sh:切换shell



版权声明:本文为qqQQqsadfj原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。