Linux常用命令

Posted on 2020-04-01 23:07  MissRong  阅读(142)  评论(0)    收藏  举报

Linux常用的命令

一、特殊符号的意思

文件类型

属主权限

属组权限

其他用户权限

-

4          2           1

4          2           1

4          2           1

d

r          w           x

r            -           x

r             -             -

- : 文件

d: 目录

对于root来说:

可读  可写  可执行

对于root同组的其它用户来说:

可读   不可写  可执行

对于不同组的用户来说:

可读  不可写  不可执行

 

 

ll:展示指定目录下的所有文件、文件夹

-rw...---- 左侧第一个是“-”的为文件

d... 左侧第一个是“d“的为文件夹

 二、常用命令

1.一般模式是对文件内部,不能在编辑模式

(1)yy   复制:复制光标的所在的一整行内容(不在编辑模式)

(2)yNy  复制N行:例如y2y:复制两行(从哪行开始复制,光标就在哪行,然后再按y2y进行复制)

(3)p    粘贴:粘贴复制的内容(在哪粘贴,光标就要在那行的上一行,再按p进行粘贴)

(4)u    撤销

(5)dd   删除一行

(6)dNd  删除N行:例如d3d:删除3行

(7)shift + ^  移动到行头

(8)shift + $  移动到行尾

(9)N + shift + g  跳到第N行

(10)shift+g  跳到最后一行

(11)gg   跳到第一行

(12)/关键词:搜索文件中的关键词所在的位置,按 n 查找下一个位置

2.编辑模式

(1)i    进入编辑模式

(2)  o   进入下一行的编辑模式

(3)esc  退出编辑模式

3.指令模式

(1)w 保存文件

(2)q 退出:shift+:+q+回车

(3)!感叹号强制执行

例如:命令行 ” :q! “ 表示 强制执行退出

建议在w/q后面加!

4.文件目录类

Linux中的一切都是文件,就是说目录其实也类似于文件,对于文件操作使用的一些命令也可以用在目录上。

(1)pwd显示当前工作的绝对路径

显示的结果以 / 为开头,例如:/opt/mudulc,

相同的文件夹下不可以创建相同名字的文件/文件夹

不同的文件夹下可以创建相同名字的文件/文件夹

绝对路径和相对路径

Windows下的绝对路径:DXX/1/2

Windows下的相对路径:不带磁盘头 /2

 

Linux下的绝对路径:以 / 为开头

Linux下的相对路径:./2(相对路径是指不以 / 为开头的路径)

 

. :当前目录

.. :上一级目录

(2)ls:列出目录内容-横着

ls -l 以列表的形式列出(竖着的)

ls -lh 以列表的形式列出(并将文件大小进行转换,从Byte换成可以整除的更大的单位-KB 或 MB等)

ls -lt 以时间的形式排序竖着列出(最新的在前面)

ls -lrt 以时间的形式排序竖着列出(最旧的在前面)

ls -lart 将隐藏的文件(.开头的文件)也显示出来

         ll:ls -l 的缩写,展示指定目录下的所有文件、文件夹-竖着

(3)mkdir 创建新目录:在当前目录下创建新的目录

         mkdir -p 递归创建:例如 mkdir -p ./A/B/C 相当于 mkdir -p A/B/C

(4)cd 切换目录

cd+空格+目录名: 进入当前所在的目录

例如cd /opt/(最后的/加不加均可):进入opt这个目录中

(5)cd - 返回之前操作的目录(或者直接按向上箭头)

cd+空格+ - :返回之前操作的目录

(6)cd+ 空格+.. :返回上一级目录

执行命令:cd后面什么都不加,意思就是进入/root路径下

~ 表示当前所在的目录为/root

它的再上一级目录为 /

(7)cp复制文件或目录无子文件夹的)

 cp 要复制的文件名 目标文件名

(8)cp -r 递归复制有或没有子文件夹的均可)

(9)touch 创建空文件:touch+空格+文件名: 创建新的文件

(10)vi+空格+文件名:进入此文件

例如:vi ITSTAR 进入ITSTAR文件中

(11)rm 删除文件无子文件夹的)

(12)rm -rf 递归强制删除 有或没有子文件夹的均可)

  • rm+空格+-rf+文件名:递归强制删除指定目录下的某个文件(有或没有子文件夹的均可)
  • rm+空格+-rf+空格+*:递归强制删除当前目录下的所有文件
  • rm+空格+-rf+空格+/:删除整个系统的所有东西(因为所有的东西都在 /下)

(13)mv 移动文件所在目录/改名

mv+空格+要移动的文件名+空格+移动到的位置:移动目录/改名

(14)cat 查看文件

cat+空格+文件名 :查看指定目录下的文件(打印出所有的内容,如果文件较大不建议使用cat)

(15)more分页查看文件

more+空格+文件名:分页查看指定目录下的文件(仅打印出当前查看页的内容,生产环境下推荐使用more)

空格 或 按CTRL+f 继续读下一页内容 ;CTRL+B返回上一屏

(16)tac+空格+文件名:倒着放文件内容(不常用)

(17)tail -F监控文件 

tail+空格+-F+空格+文件名:监控文件

CTRL+C 关闭监控

(18)echo追加文件

echo+空格+追加上的内容+空格+>>+要进行追加的文件名 进行文件内容的追加

echo+空格+覆盖上的内容+空格+>+要进行覆盖的文件名 进行文件内容的覆盖

(19)ln -s[原文件][目标文件] 软链接

ln+空格+ -s +空格+原文件+空格+目标文件:软链接

(20)history历史服务器:显示之前敲过的命令

(21)tail -X 文件名 :打印指定文件中倒数X行的内容

EG: tail -10 test.txt

打印test.txt文件内倒数10行的内容(从最后一行算起,倒数10行)

(22)head -X 文件名 :打印指定文件中正数X行的内容

EG: head -10 test.txt

打印test.txt文件内正数10行的内容(从第一行算起,正数10行)

(23)tr

  eg:

      cat test1.txt | tr '[a-z]' '[A-Z]'                   将大小写进行互转后打印出来 (其中 | 是管道符) ,该命令执行后可以打印出test1.txt文件的内容

      cat test1.txt | tr '[a-z]' '[A-Z]' > test2.txt  将大小写进行互转后再以覆盖的形式重定向给新文件test2.txt,

                                                                     (这里新文件test2.txt可以是原来不存在的文件,执行此命令不会打印出文件内容,源文件test1.txt内容不变)

      cat test2.txt | tr -d "."                               将源文件test2.txt中的"."删除并打印出修改后的内容,

                                                                        (实现字符串的删除,源文件test2.txt的内容不变)

5.时间日期类

(1)date 显示当前时间

         date -s设置系统时间--例如:date -s ‘2019-03-09 23:23:23’

(2)cal 查看日历--例如:cal -3:查看最近3个月的日历

(3)tab 自动补充键

6.用户管理命令

(1)useradd [用户]添加新用户

useradd + 用户名:添加新的用户

EG:useradd newuser1 -g newgroup -s /bin/nologin  新创建用户newuser1在newgroup用户组中

   -g 后加的是组ID ; -s 后加的是Shell

          id newuser1 可以查询新建的用户信息:

               

(2)userdel [用户]删除新用户

userdel+ 空格+用户名:删除用户

(3)passwd [用户]设置用户密码

passwd+空格+用户, 然后根据提示输入新的密码

(4)id [用户]判断用户是否存在

id+空格+用户名:判断用户是否存在

(5)su [用户]切换用户

su+用户名:切换用户

输入exit可以回到原来的用户-root用户

(6)vi /etc/sudoers 设置普通用户具有root权限

vi+空格+/etc/sudoers:设置普通用户具有root权限

注: 前提是当前在root用户下

(7)usermod修改用户

usermod -g dev itstar把用户itstar加入到dev用户组

(8)groupadd+用户名:新增用户组

例如:groupadd itstar新增itstar用户组

查看用命令:cat /etc/group

(9)groupdel删除组

groupdel+用户组名

注: 如果用户组里面有用户,则会删除失败

(10)groupmod修改组

(11)cat /etc/group查看创建了哪些组

cat +空格+/etc/group:查看创建了哪些组

(12)whoami 查看当前用户名

(13)w 显示当前登陆系统的用户信息

         

7.文件权限类

(1)chmod改变权限

chmod -R 777 用户名  (给某用户最大的权限)

chmod u+x/w/r 文件/目录名  (给属主增加执行/写/读功能)

chmod u-x/w/r 文件/目录名   (给属主去掉执行/写/读功能)

chmod g+x/w/r 文件/目录名  (给属组增加执行/写/读功能)

chmod g-x/w/r 文件/目录名   (给属组去掉执行/写/读功能)

 r,w,x分别对应的数字是4,2,1

用它们各自数值之和来代表属主、属组、其它用户的权限,例如:

命令:chmod 760 文件名

7代表的就是属主具有rwx的功能(4+2+1)

6代表的就是属组具有rw的功能(4+2)

0代表的就是其他的用户没有rwx的功能

分开表示出来就是:- rwx rw- ---

(2)chown [最终用户--用户名:组名][文件或目录]

chown 属主:属组 文件名   (来更改属主、属组)

例如:chown -R itstar:itstar [文件名]

 

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

 -f忽略错误信息

 -h修复符号链接

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

 -v显示详细的处理信息

8.磁盘分区类

(1)fdisk+空格+ -l:在root用户下查看分区 

(2)df 查看硬盘 

(3)mount /unmount 挂载/卸载

9.搜索查找类

(1)find [搜索范围][匹配条件]

find+空格+搜索范围+匹配条件:搜索查找类

  • 按文件名:find /opt -name '*.jar'(查找opt目录下所有的jar文件,注意不仅是单层的搜索)

            

 

  • 按拥有者:find /opt -user itstar(查找拥有者为itstar的文件)
  • 按文件大小:find /opt -size +1024(在某目录下查找大于1M的文件)

(2)grep 管道符

grep + 参数 + 查找内容 + 源文件

  • rpm -qa|grep mysql 查找系统中是否有mysql的rpm包
  • rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64 删除mariadb包(这里--nodeps是强制性的~)

  • rpm -ivh --nodeps 包名 强制安装...
  • grep "C \ |A" A  注:区分大小写
  • grep -i "C \ |A" A 是不区分大小写
  • grep -A/B/C X '字符串' 文件名:

            

  • grep 'SOHU' test2.txt     查询test2.txt文件中 含有SOHU的行,打印出来
  • grep 'SOHU' test2.txt -n  查询test2.txt文件中 含有SOHU的行,打印出来 ,并显示所在行数:

           

  •  grep -A 3 'GOOGLE' test2.txt -c  输出test2.txt文件中含有GOOGLE的行的数量
  •  grep -A 3 'GOOGLE' test2.txt | wc -l 输出的是 执行grep -A 3 'GOOGLE' test2.txt 命令 打印出内容的行数:

            

            (具体test2.txt文件的内容看grep的第一张图)          

10.进程线程类

(1)ps -aux 查看系统中的进程

(2)top 查看系统的健康状态

(3)kill 进程 :kill -9 进程号,直接杀死进程

11.压缩和解压缩

(1)gzip + 文件  压缩文件注:不能压缩目录

(2)gunzip + 文件.gz   解压缩文件

(3)zip + 文件名 + 要压缩的内容

例如:zip a.zip a 把a压缩成zip格式的文件

(4)unzip + *.zip  解压所有文件

详见:https://www.cnblogs.com/liuxinrong/articles/12652400.html

(5)tar 的打包、压缩、解压缩

  • tar  cvf  要打包成的包名  指定的目录 (将指定目录下的所有文件打成一个包,c--可理解成创建

          

  • tar  xvf  要解压的包名 (x--可理解成解包

          

  •  tar zcvf 要压缩成的压缩包名  指定路径 (将指定路径下的所有文件打包后再压缩成一个压缩包,z-可理解成压缩

           

  •    tar zxvf 要解压的压缩包名 (实现指定压缩包的解压)

12.其它

(1)sort

EG:cat test2.txt | sort  将test2.txt文件的内容按照字符ASCII从小到大顺序排列出来:

          

 (2)cut

EG: cat test2.txt | cut -d ":" -f 1 将test2.txt文件内容用“:”分隔开并打印出第一列:

        

 (3)uniq

EG:cat test3.txt | uniq  对test3.txt文件进行重复行的删除(注意:仅对挨着的重复行进行去重,不改变原文件的内容)

          

          

        cat test3.txt | uniq | wc -l   输出对test3.txt文件去重后所具有的行数

        cat test3.txt | uniq -c          输出对test3.txt文件去重后的内容,并计数(输出的顺序是字符串按照ASCII由小到大排好的)

   cat test3.txt | sort | uniq -c 输出效果同上

   

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3