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
浙公网安备 33010602011771号