linux常用命令

 

 

Linux 目录

/ 根目录

/bin 命令保存目录(普通用户就可以读取的命令)

/boot 启动目录,启动相关文件

/dev 设备文件保存目录

/etc 配置文件保存目录

/home 普通用户的家目录

/lib 系统库保存目录

/mnt 挂载目录,存放手动挂载的硬件;

/media 挂载目录,系统自动挂载的硬件(载点都是由系统自动建立和删除的);

/root 超级用户的家目录

/tmp 临时目录

/sbin 命令保存目录(超级用户才能使用的目录)

/proc 直接写入内存的

/sys 将内核的一些信息映射,可供应用程序所用

/usr 系统软件资源目录

/usr/bin/ 系统命令(普通用户)

/usr/sbin/ 系统命令(超级用户)

/var 系统相关文档内容

/var/log/ 系统日志位置

/var/spool/mail/ 系统默认邮箱位置

/var/lib/ 默认安装的库文件目录

/etc/passwd 用户记录

/etc/shadow 用户密码存放

/etc/group 用户组信息

cd ~ 进入当前用户的家目录

cd – 进入上次目录

cd .. 进入上一级目录

cd . 进入当前目录

 

磁盘管理:

列出目录以及子目录大小(单位MB):du -h 目录

只查看目录大小:du -sh 目录

查看磁盘空间占用情况:df -h 目录

 

查看文件或目录详细信息:stat 文件或目录
备注:包含大小、拥有者、组、读写权限、修改访问建立时间等信息

 

磁盘挂载:mount 设备文件名 挂载目录
备注:常用于读取光盘内容,光盘插入时,需要手动去挂载,再读取内容;/mnt 为手动挂载目录,/media 为自动挂载目录;
eg:mount /dev/hdc6 /mnt/hdc6

磁盘卸载:umount 设备文件名

 

ls命令:

-a    显示全部的文件,包括隐藏文件(开头为 . 的文件)也一起罗列出来,这是最常用的选项之一。
-A    显示全部的文件,连同隐藏文件,但不包括 . 与 .. 这两个目录。
-d    仅列出目录本身,而不是列出目录内的文件数据。
-f    ls 默认会以文件名排序,使用 -f 选项会直接列出结果,而不进行排序。
-F    在文件或目录名后加上文件类型的指示符号,例如,* 代表可运行文件,/ 代表目录,= 代表 socket 文件,| 代表 FIFO 文件。
-h    以人们易读的方式显示文件或目录大小,如 1KB、234MB、2GB 等。
-i    显示 inode 节点信息。
-l    除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
-n    以 UID 和 GID 分别代替文件用户名和群组名显示出来。
-r    将排序结果反向输出,比如,若原本文件名由小到大,反向则为由大到小。
-R    连同子目录内容一起列出来,等於将该目录下的所有文件都显示出来。
-S    以文件容量大小排序,而不是以文件名排序。
-t    以时间排序,而不是以文件名排序。
--time-style=long-iso 时间格式 年-月-日 时:分  iso时间格式 年-月-日

常用组合:
ls -l   ls -la  ls -lh
ls -lht --time-style=long-iso 按时间降序、格式化时间输出

ls -l 显示解析:
文件类型 文件权限   文件数   用户名  组名     文件大小  最后修改时间    文件名
d   rwxr-xr--   2       root     root       1024      Nov 21 21:05      Mail

文件类型:- 普通文件;  d 目录(directory);c 字符设备(char);b 块设备(block);l 符号链接(link);s 套接字(socket);p 管道(pipe);
文件权限:有九位(r读,w写,x可执行,-无权限),前3位:所有者权限;中间3位:组用户权限;最后3位:其他用户权限;
文件数:指目录或链接个数,如果是目录,数字表示这个目录下的一级目录个数;如果是文件的话,数字表示硬链接个数;
文件名:如果文件类型是链接l,此时文件名会有一个链接指向,比如:zcat->gzip

 

目录操作命令:

显示目前所在的目录:pwd [-P]

选项:

  -P :显示出确实的路径,而非使用连结 (link) 路径。

 

创建新目录:mkdir [-mp] 目录名称

选项:

  -m :直接配置文件的权限,不使用默认权限;
  -p :递归创建多级目录;

eg:mkdir -m 755 -p test1/test2/test3/test4

 

创建空白文件:touch 文件1 文件2 文件3

显示文件的行数、字数、字节数:wc 文件名

复制文件或目录:cp [-pdri] 来源文件 目标地址

选项:

  -p:连同属性一同复制,不使用默认属性
  -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
  -r:递归持续复制,用于多级目录的复制行为;
  -i:若文件已经存在时,在覆盖时会询问是否覆盖;
  -a:相对于-pdr

eg:cp -pdr 1.txt ./test/2.txt
  cp -ai ./test  ~/test

 

创建软硬链接:ln [-s] 源文件或目录 链接文件

选项:

  -s:soft之意,表示创建软链接,否则创建硬链接

软硬链接区别:

  1、硬链接只能在同一个文件系统中创建,不能跨文件系统,软件链接可以;

  2、不能给目录创建硬链接,软链接可以;

 

移动文件或目录:mv [-fiu] 来源文件 目标地址

选项:

  -f :若目标文件已经存在,不会询问而直接覆盖;
  -i :若目标文件已经存在,会询问是否覆盖;
  -u:若目标文件已经存在,而来源文件比较新,才会替换;

eg:mv 1.txt 2.txt

 

删除空的目录: rmdir [-p] 目录名称

选项:

  -p:递归删除多级目录

 

删除非空目录或文件:rm [-fir] 文件或目录

选项:

  -f :强制删除,不出现警告信息;
  -i :在删除前会询问使用者是否删除;
  -r :递归删除多级目录;

 

压缩包命令:

.zip文件:

压缩:zip -r 压缩包名 目录1  目录2 

选项:-r 递归处理,将指定目录下的所有文件和子目录一并压缩

eg:zip -r test.zip  /home/test 

  zip test.zip /home/test

解压:unzip -d 解压目录 压缩包名

选项:-d 指定解压目录

     -v 只显示压缩包内容,但不解压

eg:unzip -d /home/test test.zip

  unzip test.zip

 

.tar文件:只打包不压缩;.tar.gz(或.tgz)文件:使用gzip打包并压缩;tar.bz2文件:使用bzip2打包并压缩

备注:都使用tar命令

压缩:tar -cvf  test.tar 文件或目录

     tar -zcvf test.tar.gz 文件或目录

      tar -jcvf test.tar.bz2 文件或目录

   

解压:tar -xvf test.tar -C 解压目录

     tar -zxvf test.tar.gz -C 解压目录

     tar -jxvf test.tar.bz2 -C 解压目录

 

选项:

  -z 表示使用gzip压缩程序归档文件,处理.tar.gz文件

       -j 标识使用bzip2压缩程序归档文件,处理.tar.bz2文件

  -c 表示当前行为是打包

  -x 表示当前行为是解压文件包

  -v 参数要求显示命令执行过程

  -f 指定打包后文件名

  -C 解压到指定路径 (没有,则解压到当下目录)

 

文件查看命令:

从第一行显示内容:cat [-nbvT] 文件名

从最后一行显示内容:tac  文件名;(注:cat和tac参数互不通用)

选项:

  -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
  -n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
  -T :将 [tab] 按键以 ^I 显示出来;
  -v :列出一些看不出来的特殊字符

 

只看开头几行:head [-n number] 文件

只看结尾几行:tail [-n number] 文件 

选项:

  -n:后面接数字,代表显示几行的意思,默认显示10行。

 

一页一页的显示文件内容:more 文件名

显示文件内容时,可用按键:

  空白键 :向下翻一页;
  Enter :向下翻一行;
  b :代表往回翻页;
  = :显示当前的行号;
  q :结束显示;

 

 一页一页的显示文件内容:less 文件名,与more相比,可以搜索

显示文件内容时,可用按键:

  空白键 :向下翻一页;
  [pagedown]:向下翻一页;
  [pageup] :向上翻一页;
  /字串 :向下搜寻『字串』;
  ?字串 :向上搜寻『字串』;
  n :重复前一个动作;
  N :反向的重复前一个动作;
  q :结束显示;

 

系统账户管理:

添加账户:useradd   [-cdgGu]  用户名
修改账户:usermod  [-cdgGun]  用户名

选项:

  -c comment 指定一段注释性描述。
  -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
  -g 指定用户所属的用户组。
  -G 指定用户所属的附加组。
  -u 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
  -n usermod用来将用户组的名字改为新名字

eg:

  useradd  –d   /home/sam  -m  sam 
  useradd  -g  group  –G  adm,root  sam
  groupmod  –g 1000  -n  newgroup  oldgroup

删除账户:

  userdel -r 用户名

选项:

  -r :是把用户的主目录一起删除

 
修改密码:passwd 用户名 (不填表示当前用户)

口令管理用户:passwd [-ludf] 用户名
备注:创建用户后,必须指定口令才能登录。

选项:

  -l 锁定口令,即禁用账号,-u 口令解锁;
  -d 删除密码,则用户再无法登录。
  -f 强迫用户下次登录时修改口令。

 

查看所有账户:cat /etc/passwd

/etc/passwd 文件将每个用户的详细信息写为一行,包含七个字段:egg:mysql:x:1001:1001::/home/mysql:/sbin/nologin
第一个字段:用户名
第二个字段:密码,x 表示密码已经加密,并且存放在 /etc/shadow 文件中
第三个字段:表示用户id,500 以上的,就是后面建的用户了,其它为系统用户
第四个字段:表示所属主用户组的id
第五个字段:用户描述信息
第六个字段:用户的家目录
第七个字段:用户默认使用的shell类型

切换用户:su 用户名

显示当前登录系统的用户:who

显示当前自身用户名:whoami

查看用户和组的名称、标识号:id 用户名

 

系统用户组管理:

添加用户组:groupadd   [-go]  组名

修改用户组:groupmod  [-gon]  组名

选项:

  -g 指定新用户组的组标识号(GID)。
  -o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
  -n groupmod用于将用户组的名字改为新名字

eg:groupadd -g 101 group2
  groupmod –g 10000 -n group3 group2

删除用户组:groupdel 组名

切换到其他用户组:newgrp 组名

备注:如果一个用户有多个用户组,那么可以在用户组之间切换,以便具有其他用户组的权限;

 

更改文件所属:

更改文件属组:chgrp [-R] 属组名 文件名

更改文件属组、属主:

  chown [–R] 属主名 文件名
  chown [–R] 属主名:属组名 文件名

eg:chown root:root install.log

选项:
  -R:递归更改包含子目录所有文件,否则只更改主目录

 

更改文件9个属性:user/group/others对应的读、写、执行

利用数字修改(r:4 w:2 x:1:chmod [-R] 755 文件或目录

利用符合修改(u=user g=group o=others a=all):
命令:

  chmod [-R] u=rwx,g=rx,o=r 文件或目录
  chmod [-R] u-x g+x o+w 文件或目录

 

查找和检索:

快速查找文件:locate [-inc] 文件名

备注:从本地数据库/var/lib/locatedb中搜索,该数据库每天更新一次。

选项:

  i:忽略大小写

  n:至多显示 n个输出;eg:locate 1.txt -n 5

  c:只输出找到的数量

  r:使用正则表达式查找;eg:locate  -r  ^test$  ; locate  -r   ^/home/test/[7-9]*.sh

 

查找文件:find  目录 参数

备注:实时搜索,查找速度慢。

选项:(常用)

  -name 文件名:根据文件名查找,-iname表示忽略大小写;

  eg:

  find  /home  -name  "*.txt"  ;   

  find . -name 1.txt ;

  -ctime 天数:寻找多少天内被修改的文件;

  eg:find / -ctime -3 (寻找3天以内修改的文件);find / -ctime +3 (寻找3天以前修改的文件)

 

在文件或管道数据流中查找字符串:grep [-cinE]  字符串   文件

备注:字符串可以是正则

选项:(常用)

  -c:只显示匹配到的总行数

  -i:忽略大小写

  -n:显示行号

  -E:使用正则表达式来查找,一般使用复杂的正则表达式最好加上-E

eg:

  grep -i -n hello 1.txt (1.txt中查找hello字符串)

  grep  "[abc]"  /home/*.txt (正则匹配,加上引号)

  grep -E "abc|13" 1.txt (使用复杂的正则,就要加上-E)

 

vi/vim编辑操作:

按 i 进入输入模式,按ESC进入命令模式,按:进入底线模式。

底线模式:

w写入;q离开;wq保存后离开;q!不保存强制离开;

set nu:显示行号;

set nonu:取消行号;

w 文件名:另存为;

5,20 w 文件名:把5到20行内容另存为

r 文件名:在光标处读入另一个文件;

! 命令:暂时离开vi,回到命令行界面,执行命令,可随时返回vi;

 

命令模式:

——移动光标:

向上移动一页:[PgUp]、Ctrl+b

向上移动半页:Ctrl+u

向下移动一页:[PgDn]、Ctrl+f

向下移动半页:Ctrl+d

移动到当前行的开始:0 或[Home]

移动到当前行的末尾:$或[End]

移动到文档第n行:nG

移动到文档第1行:gg或1G

移动到文档最后1行:G


——搜索、替换:

向光标之下寻找:/word

向光标之上寻找:?word

------重复前一个搜寻的动作:n

反向重复前一个搜寻的动作:N

 

从第1行到末尾把word1替换成word2:1,$s/word1/word2/g

从第5行到第10行把word1替换成word2:5,10s/word1/word2/g

从第1行到末尾把word1替换成word2,替换前需要用户确认:1,$s/word1/word2/gc

 

——删除:

向后删除一个字符:x

向前删除一个字符:X

剪贴游标所在行内容(用 p/P 可以粘贴):dd

剪贴游标所在行向下n行内容:ndd

 

——复制粘贴:

把复制内容粘贴到在光标下一行:p

把复制内容粘贴到在光标上一行:P

复制游标所在行内容(用 p/P 可以粘贴):yy

复制游标所在行向下n行内容:nyy

 

——其他:

撤销:u

重复上一个动作:.(点)

 

RedHat、centos包管理工具:yum

安装软件:yum install 包名

更新软件:yum update 包名

卸载软件:yum remove 包名

列出已安装的软件:yum list installed

查看某个软件是否安装:yum list installed | grep 包名

清除缓存(删除下载的软件包、headers):yum clean, yum clean all

 

其他常用:

查看命令的使用方法:man 命令名称

eg:man pwd

立刻关机:shutdown -h now;立刻重启:shutdown -r now

linux命令在线练习:https://www.tutorialspoint.com

阿里云服务器安装宝塔,无法打开宝塔面板,原因是ip冒号后面的端口被禁用了,方法是放开端口。参考  参考

posted on 2020-11-20 08:18  飞哥100  阅读(97)  评论(0)    收藏  举报

导航