一、Linux中常用的目录介绍:
/ -根目录
/bin -命令保存目录(普通用户亦可读取的命令)
/boot -启动目录,启动相关文件
/dev -设备文件保存目录
/etc -配置文件保存目录
/home -普通用户家目录
/lib -系统库保存目录
/mnt -系统挂载目录
/media -挂载目录
/root -超级用户家目录
/tmp -临时目录
/sbin -命令保存目录(仅超级用户使用)
/proc -直接写入内存,禁止操作,其保存的是内存的挂载点
/sys -直接写入内存(同上)
/usr -系统软件资源目录
/usr/bin/ -系统命令(普通用户)
/usr/sbin -系统命令(超级用户)
/var -系统相关文档内容
二、Linux中常用的命令汇总
1. Linux命令基本格式
命令提示符:[root@localhost ~]# - [username@hostname currentDirectory]userChar
[用户-root @ 主机名-localhost 当前目录-root家(home)]user标识-root(标识$-普通用户) pwd -显示当前目录
命令基本格式:命令 [选项] [参数]
NOTE:有些命令的使用并不遵循此格式,且当有多个选项时,可以写在一起;简化选项(-)与完整选项(--),如 -a == --all
查询指定目录内容:ls 若不加参数则表示显示当前目录内容
-a 显示所有文件,包括隐藏文件
-d 查看目录属性
-l 显示详细信息:
-h 人性化显示文件大小
-i 显示inode
例:
[root@DZH-Linux ~]# ls -l
总用量 44
-rw-r--r--. 1 root root 25213 9月 27 10:18 install.log
...
[root@DZH-Linux ~]# ls -lh
总用量 44K
-rw-r--r--. 1 root root 25K 9月 27 10:18 install.log
注释:
-文件类型(一共7种类型,常用的有三种:-文件 d目录 |软链接文件)
权限:r读 w写 x执行
权限分类:
rw- r-- r--
u所有者 g所属组 o其他人
2. 文件处理命令
2.1 文件/目录处理命令
mkdir -p [目录名]
make directory -p 递归创建,即若所创建目录是分级的且最终目录所涉及的上级不存在,需要此选项递归创建所有关联目录
cd [目录] cd-change directory
cd ~ -进入当前用户hone目录
cd -进入当前用户hone目录
cd - -进入上次目录
cd .. -进入上一级目录
cd . -进入当前目录
NOTE:注意相对路径以及绝对路径的使用
pwd -print working directory 打印当前所在位置
rmdir [目录名] remove empty directory 只能删除空白目录,很少使用
rm -rf [文件/目录] remove
-r 删除目录(recursion) -f 强制(force),忽略提示
cp [选项] [源文件/目录] [目标...] cp=copy
-r 复制目录
-p 连带文件属性
-d 若源文件是链接文件,则复制链接属性
-a 相当于 -pdr 目标copy与源完全一致,包括其各种属性(创建时间等)
NOTE: 若目标有另外的与源不同命名则为重命名copy的文件
[root@DZH-Linux ~]# cp -r /home/Japan/ /root/jpana
[root@DZH-Linux ~]# ls
anaconda-ks.cfg install.log install.log.syslog jpana sony
mv [源文件/目录] [目标位置] mv-move 剪切或重命名(移动到当前位置)
NOTE: 若目标有另外的与源不同命名则为重命名剪切的文件
touch [文件名] 创建新文件
2.2 文件链接命令
ln -s [src] [dst] s-soft ln-link生成链接文件
(1) 源目录[src]必须是绝对路径,目标目录[dst]可以是相对路径
(2) 创建软链接(符号链接),软连接仅保存了同名于原始文件的文件内存位置信息,删掉原始文件后,软连接失效。但在原始文件
的同一目录下创建一个同名的文件,软连接自动的又生效了,且指向了这个新创建的文件
(3) 可以跨分区创建软链接,可以对目录创建软链接
ln [src] [dst] - 创建硬链接
(1) 不需要参数选项,源目录[src]可以是相对路径
(2) 硬链接与原始文件完全相同,他们拥有相同的iNode(文件的唯一标识),内存大小。当删除原始文件时,硬链接文件仍可用
(3) 不能跨分区创建硬链接,不能对目录创建硬链接
PS: 小命令 - echo 字符串 > file - 擦除文件file的内容并写入该字符串
echo 字符串 >> file - 拼接文件file的内容,换行写入该字符串
2.3 文件内容查看命令
cat file_name - 查看文件所有内容,若文件内容较多,则屏幕仅一闪而过直至显示最后一页内容
+ -n
+ -b
+ -T
more - more命令会显示文本文件的内容,但会在显示每页数据之后停下来,可以通过enter键按行滚动,space键按页滚动
less - “less is more”,more命令的升级版。除了enter键和space键,less命令还能够识别上下键按行滚动
head - head命令,顾名思义,会显示文件开头那些行的内容。默认情况下,它会显示文件前10行的文本
tail - tail命令会显示文件最后几行的内容(文件的“尾部”)。默认情况下,它会显示文件的末尾10行
+ -n 数字
+ -数字 - 显示首部/末尾num行
tail -f - -f参数是tail命令的一个突出特性。它允许你在其他进程使用该文件时查看文件的内容。tail命令会保持活动状态,
并不断显示添加到文件中的内容。这是实时监测系统日志的绝妙方式
3. 搜索命令
3.1 文件搜索命令
locate file_name - 按配置文件/etc/updatedb.conf的筛选规则,在后台数据库按文件名搜索,速度较快,但只能搜文件名
/var/lib/mlocate/mlocate.db即为locate命令所搜索的数据库,一天更新一次,所以若刚创建的文件需要搜索,则需要强制
刷新数据库 - updatedb
find [搜索范围] [搜索条件] file_name find在整个系统中搜索符合条件的文件名,比较耗费资源。可使用通配符,为完全匹配
例:find / -name test - 在/目录下搜索文件名为test的文件
通配符:
(1) * 匹配任意内容
(2) ? 匹配任意一个字符
(3) [] 匹配任意一个中括号内的字符
若使用通配符,则文件名应加双引号""
例:find / -name "t?s*[st]" - 第二个字符任意,最后一个字符是s或t
find / -iname test -iname不区分大小写
find / -user root -搜索/目录下root用户的所有文件
find / -nouser test -搜索/目录下没有所有者的所有文件(可能是垃圾文件)
例:find /var/log/ -mtime +10 -查找10天前修改过的文件
-10 10天内修改过的文件
10 第前10天修改过的文件
+10 10天前修改过的文件
atime 文件访问时间
ctime 改变文件属性
mtime 修改文件内容
例:find / -size 10k -搜索/目录下文件大小是10k的文件
-10k < 10k
10k = 10k
+10k > 10k
NOTE:千字节小写k,兆字节大写M,若不加单位则按扇区搜索(一个扇区512B)
例:find / -inum 234567 -搜索/目录下iNode节点是234567的文件
例:find / -size +10k -a -size -50k -搜索/目录下文件大小>10k且<50k的文件
-a and -o or
若要对搜索结果进行查看,则可以拼接第二条命令:
find /root/ -size +5k -a -size -70k -exec ls -l {} \; -{} \为exec的标准格式
3.2 命令搜索命令
whereis - 列出命令位置与其帮助文档的位置
- b 仅列出命令位置 - m 仅列出命令帮助文档的位置
witch - 列出命令位置与其别名
PS:由于cd是shell的内置命令非外部命令,因此,whereis和witch均不能搜索出其位置信息
$PATH 环境变量:定义的是系统命令的搜索路径,若在该路径下均为发现所使用的命令,则报错。(echo $PATH 列出环境变量)
3.3 字符串搜索命令
grep [选项] 字符串 file_name -在文件file_name中搜索包含目标字符串的行(不完全匹配,正则表达式)
-i 不区分大小写 -v 不包含目标字符串的行 -n 显示所在行号
例:grep "it" install.log.syslog -在文件install.log.syslog搜索包含"it"的行信息
4. 帮助命令
4.1 man
man cmd_name
例:man ls -查看ls相关的帮助文档
man -f cmd 等价于:whatis cmd_name -查看命令拥有哪些级别的帮助,进而可指定查看特定的帮助等级文档
例:man -f yum
man 8 yum
man -k cmd_name 等价于apropos cmd_name -查看与cmd关键字相关的所有帮助信息
例:man -k yum
4.2 help
help cmd_name (shell内部cmd)
whereis cmd_name -确定是都是shell内部cmd
help cmd_name -获取内cmd帮助信息
4.3 info cmd_name
-回车 -进入子帮助页面(带有*号标记)
-u -进入上层页面
-n -进入下一个帮助小节
-p -进入上一个帮助小节
-q -退出
PS: cmd -h/--help -[选项帮助]
5. 压缩、解压缩与归档命令
5.1 zip -Window/Linux通用的压缩工具
zip 压缩文件名 源文件 -压缩文件
zip -r 压缩文件名 源目录 -压缩文件夹
unzip -解压缩
5.2 gzip -Linux上最流行的压缩工具
gzip 源文件 -自动生成.gz扩展名的压缩文件同时删除源文件
gzip -c 源文件 > 压缩文件名 -将源文件内容输出到压缩文件
gzip -r 目录 -压缩目录
gunzip .gz压缩文件 -解压文件
5.3 bzip2
bzip2 源文件 -压缩文件,不保留源文件
bzip2 -k 源文件 -压缩文件,保留源文件
NOTE: bzip2不支持压缩目录
bzip2 -d 压缩文件 -解压缩文件,不保留压缩文件
bzip2 -dk 压缩文件 -解压缩文件,保留压缩文件
bunzip2 压缩文件 -解压缩文件,不保留压缩文件
bunzip2 -k 压缩文件 -解压缩文件,保留压缩文件
5.4 tar -文件归档命令
命令格式:tar function [options] object1 object2 ...
例:tar -cvf /home/work -在当前目录下创建home目录下work文件夹的归档文件
-c(function) -创建一个新的tar归档文件
-v(option) -在处理文件时显示文件
-f(option) -输出结果到文件或设备file
例:tar -tvf work -列出当前目录下tar归档文件work的内容并不提取
-t(function) -列出已有tar归档文件的内容
例:tar -xvf work -在当前目录下提取归档文件work的内容
-x(function) -从已有tar归档文件中提取文件
5.5 .tar.gz/.tar.bz
例:tar -zcvf 压缩包名.tar.gz 源文件 -在当前目录下将源文件归档为.tar并压缩为.gz
例:tar -jcvf 压缩包名.tar.bz2 源文件 -将源文件归档为.tar并压缩为.bz2
例:tar -zxvf 压缩包名.tar.gz -解压缩文件.tar.gz并提取其内容
例:tar -jxvf 压缩包名.tar.bz2 -解压缩文件.tar.bz2并提取其内容
例:tar -txvf 压缩包名.tar.gz -仅查看解压缩文件.tar.gz的内容不解压
6. 软件包管理命令
6.1 yum -Red Hat系的软件管理命令
例:yum list installed - 列出所有已安装的软件,不过信息过多则会一闪而过,不方便查看
yum list installed > file_name - 将软件安装信息导入file_name,这样可以通过文件file_name来查看软件安装信息
yum list package_name -显示软件是否安装以及可以获取该软件的源
yum repolist -列出软件仓库源
yum list updates -列出所有已安装包的可用更新
yum update -更新所有包
yum update package_name -更新指定包
yum install package_name -安装软件
yum remove package_name -只删除软件包而保留配置文件和数据文件
yum erase package_name -删除软件以及与其相关的所有文件
7. 关机和重启命令
7.1 shutdown [选项] 时间 -安全关机命令,系统关机前会做相应的保存信息等安全操作
-c -取消前一个关机命令
-h -关机
-r -重启
例:shutdown -r 05:05 -现在起到05:05重启,单系统会卡在此命令处
shutdown -r 05:05 & -现在起到05:05重启,终端退出此命令并等待重启
7.2 其他关机命令
halt poweroff init 0 -不安全的关机命令
PS: 系统运行级别
0 -关机 1 -单用户 2 -不完全单用户(不含NFS服务)
3 -完全多用户 4 -未分配 5 -图形界面 6 -重启
7.3 其他重启命令
reboot -安全的重启命令
init 6 -不安全的重启命令
7.4 退出登录 -针对远程登录用户
logout -退出登录,若未使用此命令,会造成当前用户未被系统释放。这对于多用户操作的系统来说影响不大,但对于只允许
少数用户操作的系统就会造成资源的浪费