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

  • 36
    点赞
  • 245
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值