总结一下Linux的目录结构与常用基本命令。
一、Linux的目录结构
Linux没有盘符的概念,只有一个根目录/,所有文件都在它下面。

目录 | 作用 |
/bin | (Binaries) 最常用的二进制命令所在的目录 |
/boot | 系统引导程序所需要的文件目录,例如启动Linux时使用的一些核心文件 |
/dev | (Device) 设备软件目录,磁盘,光驱 |
/etc | (Etcetera) 系统配置,启动程序 |
/home | 普通用户的家,目录默认数据存放目录,例如图例中的alice,bob,eve |
/lib | (Library) 动态连接共享库文件和内核模块存放目录 |
/lost+found | 通常为空,系统非法关机后在该目录中有文件 |
/media | 识别U盘、光驱等后把识别的设备挂载到该目录 |
/mnt | 临时挂载储存设备的挂载点 |
/opt | (Optional) 额外的应用软件包,例如ORACLE等就可以放到该目录 |
/proc | (Processes) 操作系统运行时,进程信息和内核信息存放在这里。是一个虚拟目录,是系统内存的映射 |
/root | Linux超级权限用户root的家目录 |
/run | 临时文件系统,存储系统启动以来的信息。系统重启时,该目录下文件应该被清除。 |
/sbin | (Superuser Binaries) 系统管理员使用的管理系统相关的命令 |
/tmp | (Temporary) 临时文件目录,这个目录被当作回收站使用 |
/usr | (Unix shared resources) 用户或系统软件应用程序目录 |
/var | (Variable) 存放系统日志的目录 |
二、Linux的常用命令
2.1 目录查看、创建、删除、切换命令
1)查看文件列表
[root@node01 ~]# ls -a
选项 | 含义 |
-a | 显示指定目录下所有子目录与文件, 包含隐藏文件 |
-l | 以列表方式显示文件的详细信息 |
-h | 配合 -l 以人性化的方式显示文件大小 |
2)查看当前所在目录
[root@node01 ~]# pwd
3)目录创建
[root@node01 ~]# mkdir test[root@node01 ~]# mkdir -p test02/aa/bb
4)删除目录
[root@node01 ~]# rm -r test
参数 | 含义 |
-f | 强制删除,忽略不存在的文件或目录, 无需提示 |
-r | 递归地删除目录下的内容, 删除目录时必须加此参数 |
5)目录切换
cd #回到用户主目录cd test #切换到当前目录下的test目录(相对路径)cd root/test #切换到指定目录(绝对路径)cd .. #回到上一级目录cd ../.. #回到上上一级目录cd ../dir #回到上一级的dir目录
2.2 文件操作命令
1)创建文件
touch a.txt
2) 将文件移动到一个目录中
touch a.txtmkdir dirmv a.txt dir
3) 重命名
mv a.txt b.txt #重命名文件mv dir1 dir2 #重命名目录
4) 文件删除
rm -f a.txt #强制删除一个文件
5) 查看文件内容
cat a.txt
6) 查看文档前几行内容
head -n 数字 文件
[root@node01 ~]# head -n 5 test01.data
7) 查看文档后几行内容
tail -n 数字 文件
8) 复制文件
cp a.txt dir1 #将a.txt复制到dir1目录cp a.txt b.txt #将a.txt复制到b.txt
9) 压缩与解压缩
tar -zxvf redis-3.2.8.tar.gz #将文件解压到当前目录tar -zxvf redis-3.2.8.tar.gz -C root/dir #将文件解压到指定目录tar -cvf test.tar root/test #打包tar -czvf test.tar.gz root/test #打包并压缩
10) 文件查找
find -name 'ins*' #查找/目录下以文件名ins开头的文件find -type f -size +100M #查找/目录下文件大小大于100M的文件grep 关键字 文件名 #搜索存在关键字的行grep -n 关键字 文件名 #搜索存在关键字的行且显示行号grep -i 关键字 文件名 #忽略大小写搜索存在关键字行grep -v 关键字 文件名 #搜索不存在关键字的行grep ^a 文件名 #搜索以a开头的行grep b$ 文件名 #搜索以b结束的行which pwd #查找可执行文件pwd命令的路径
2.3 系统管理命令
ps aux #列出所有在内存当中的进程ps -ef #查看所有进程kill -9 12345 #杀死pid为12345的进程ps -ef | grep java #通过管道命令查询名称中包含java的进程
2.4 用户创建、删除命令
useradd user01 #创建新用户kkbpasswd user01 #设置用户kkb密码userdel -r user01 #删除用户kkb
2.5 权限管理命令
2.5.1 权限概述
对 文件 目录 的权限包括:
序号 | 权限 | 英文 | 缩写 | 数字序号 |
01 | 读 | read | r | 4 |
02 | 写 | write | w | 2 |
03 | 执行 | execute | x | 1 |
04 | 无权限 | - | 0 |

2.5.2 权限管理命令
chmod 666 a.txtchmod u+x a.txtchmod u=rwx,g=rw,o=x a.txt[zhangsan@node01 ~]$ whoamizhangsan[zhangsan@node01 ~]$ su - rootPassword:[root@node01 ~]# whoamiroot[root@node01 ~]# exitlogout
2.6 网络和服务管理命令
[root@node01 ~]# hostname #查看主机名[root@node01 ~]# ifconfig #查看主机IP地址service network status #查看网络服务状态service network stop #停止网络服务service network start #启动网络服务service network restart # 重启网络服务
2.7 其他命令
2.7.1 man
是manual的缩写,是Linux提供的一个手册,包含了绝大部分的命令、函数的详细使用说明。使用方法只需在需要帮助手册的命令或方法前加上man命令即可。
常用操作键:
操作键 | 功能 |
空格键 | 显示手册的下一屏 |
Enter键 | 一次滚动首页也得一行 |
b(back) | 回滚一屏 |
f(forward) | 前滚一屏 |
q (quit) | 退出 |
/word | 搜索word字符串 |
n(next) | 搜索下一个 |
N | 搜索上一个 |
2.7.2 echo
将字符串输出到控制台 , 通常会和重定向联合使用
[root@node01 ~]# echo 'hello'hello
2.7.3 >(覆盖)、>>(追加)
[root@node01 ~]# echo 'hello01'>test02.data[root@node01 ~# cat test02test02/ test02.data[root@node01 ~]# cat test02.datahello01[root@node01 ~]# echo 'hello02' >> test02.data[root@node01 ~]# cat test02.datahello01hello02
2.7.4 &&、||
&&
如果命令1执行成功,才会执行命令2
mkdir -p 正确目录 && echo "提示创建目录成功"
||
如果命令1执行失败,才会执行命令2
mkdir 错误目录 || echo "提示创建目录失败"
2.7.5 ln
可以用来创建软连接,类似于创建快捷方式
[root@node01 ~]# ln -s test02.data test03.data
2.7.6 clear
清屏命令,还可以使用快捷方式:ctrl + l
2.7.7 自动补全命令
1)自动补全命令
在敲出 文件/ 目录 / 命令 的前几个字母之后, 按下 tab键
如果还存在其他 文件 / 目录 / 命令, 再按一下tab键, 系统会提示可能存在的命令
2)曾经使用过的命令
使用 上 / 下 光标键可以在曾经使用过的命令之间来回切换
如果想要退出选择, 并且不想执行当前选中的命令, 可以按 ctrl + c




