一.目录结构

Linux 文件系统的结构层次鲜明,就像一棵倒立的树,最顶层是其根目录 /root:

  • /bin:存放二进制可执行文件(ls、cat、mkdir 等),常用命令一般都在这里;

  • /etc:存放系统管理和配置文件;

  • /home:存放所有用户文件的根目录,是用户主目录的基点,比如用户 user 的主目录就是 /home/user,可以用 ~user 表示;

  • /usr:用于存放系统应用程序;

  • /opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 tomcat 等都安装到这里;

  • /proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息;

  • /root:超级用户(系统管理员)的主目录(特权阶级^o^);

  • /sbin:存放二进制可执行文件,只有 root 才能访问。通常存放系统管理员使用的系统级别的管理命令和程序。如 ifconfig 等;

  • /dev:用于存放设备文件;

  • /mnt:系统管理员安装临时文件系统的安装点,系统提供这个目录是让用户临时挂载其他的文件系统;

  • /boot:存放用于系统引导时使用的各种文件;

  • /lib:存放着和系统运行相关的库文件 ;

  • /tmp:用于存放各种临时文件,是公用的临时文件存储点;

  • /var:用于存放运行时需要改变数据的文件,也是某些大文件的溢出区,比方说各种服务的日志文件(系统启动日志等)等;

  • /lost+found:这个目录平时是空的,系统非正常关机而留下“无家可归”的文件(windows 下叫什么 .chk)就在这里。

二.处理目录的常用命令

1
2
3
4
5
6
7
8
ls     # 列出目录
cd # 切换目录
pwd # 显示目前的目录
mkdir # 创建一个新的目录
rmdir # 删除一个空的目录
cp # 复制文件或目录
rm # 移除文件或目录
mv # 移动文件与目录,或修改文件与目录的名称

三.防火墙常用命令

1
2
3
4
5
6
7
8
systemctl status firewalld                                    # 查看 firewall 服务状态
service firewalld start # 开启防火墙
service firewalld restart # 重启防火墙
service firewalld stop # 关闭防火墙
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看已开放端口信息
firewall-cmd --zone=public --add-port=8080/tcp --permanent # 永久开放 8080 端口
firewall-cmd --permanent --zone=public --remove-port=8080/tcp # 移除 8080 端口

四.启动、终止 jar 包

1
2
3
4
nohup java -jar xxx.jar &        # 后台运行 jar 包

netstat -nlp | grep :8080 # 根据端口号找到对应的 pid
kill -9 pid # 终止该进程

五.软件安装类常用命令

rpm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
rpm -ivh xxx.rpm # rpm安装
# -i(install) 安装
# -v(verbose) 显示详细安装信息
# -h(hash) 显示进度
# --nodeps 不检测依赖性

rpm -q xxx.rpm # 查询是否安装
# -q(query) 查询

rpm -qa # 查询所有已安装的rpm包
# -a(all)

-rpm -qi xxx.rpm # 查询软件包的详细信息
# -i(information) 查询软件信息

rpm -ql xxx.rpm # 查询包中软件安装位置
# -l(list) 列表

rpm -e xxx.rpm # rpm卸载
# -e(erase) 卸载
# --nodeps 不检测依赖性

tar

1
2
tar -acvf test.tar.gz document/ # 将 document 文件夹下面的文件压缩
tar -axvf javaxxx.tar.gz # 解压

六.查看文件内容

1
2
3
4
5
6
vi file1      # 打开并浏览文件
cat file1 # 从第一个字节开始正向查看文件的内容
tac file1 # cat 的反写,从最后一行开始反向查看一个文件的内容
head -2 file1 # 查看一个文件的前两行
tail -3 file1 # 查看一个文件的最后三行
more file1 # 分页查看长文件,空格下翻,b上翻页,q退出

七.查找文件

1
2
3
4
5
6
7
8
9
find / -name file1                               # 从 ‘/’ 开始进入根文件系统查找文件和目录
find / -user user1 # 查找属于用户 ‘user1’ 的文件和目录
find /home/user1 -name *.bin # 在目录 ‘/home/user1’ 中查找以 ‘.bin’ 结尾的文件
find /usr/bin -type f -atime +100 # 查找在过去 100 天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 # 查找在 10 天内被创建或者修改过的文件
locate *.ps # 寻找以 ‘.ps’ 结尾的文件,先运行 ‘updatedb’ 命令
find -name ‘*.[ch]’ | xargs grep -E ‘expr’ # 在当前目录及其子目录所有 ‘.c’ 和 ‘.h’ 文件中查找 ‘expr’
find -type f -print0 | xargs -r0 grep -F ‘expr’ # 在当前目录及其子目录的常规文件中查找 ‘expr’
find -maxdepth 1 -type f | xargs grep -F ‘expr’ # 在当前目录中查找 ‘expr’