一、Linux 系统目录结构
1、 / 根目录
2、/bin bin 是binary 的缩写,这个目录存放着经常的使用命令
3、/dev 是指Device的 缩写,该目录下存放的是Linux的外部设备,在Linux 中访问设备的方式和访问文件的方式是相同的
4、/etc 这个目录用来存放系统管理的所需要 的配置文件和目录
5、/home 用户的主目录,在Linux 中每一个用户都有有一个自己的主目录,一般该目录的目录名是以用户的账号命名的
6、/lib 这个目录里存放着系统最基本的动态链接共享库,其作用类似于windows里面的DLL文件。几乎所有的应用程序都需要用到这些共享库。
7、/media Linux系统会自动识别一些设备,例如U盘,光驱等;自动识别后,Linux会把识别的设备挂载到这个目录下。
8、/mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt 上,然后进入该目录下就可以查看光驱的内容了。
9、/root 该目录为系统管理员,也称作超级权限者的目录。
10、/usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 Windows下的programs file.
二、常用命令:
1、cd 改变当前目录
. 代表当前目录
.. 代表上一层目
- 返回上一次所在目录
~ 当前用户的家目录 cd ~ 进入家目录
三种回家方式:
(1)、cd
(2)、cd ~
(3)、cd /homt/arrayli
2、ls 显示目录内容
-a 显示所有文件(包括隐藏文件)
-A 和 -a基本一样,但不包括(. 和 ..)
-h 显示文件的大小不用字节表示 ,用K,M,G来表示
-i 显示文件对应的inode编号
-l 显示文件目录更多的信息
-d 只列出目录本身的信息,而不列出目录中的内容
-r 把排序的结果反向输出
-R 递归列出子目录中的内容
-S 按照文件的大小排序
-t 按照文件的时间排序
3、pwd 显示当工作祖目录
-P 显示真正的路径,而不是链接路径
4、mkdir 创建一个目录
-m 来设置这个目录的权限
mkdir -m 644
-p 递归创建目录(如果上一级目录不存在,则一并建立)
mkdir test/1/2/3/4/5
5、rmdir 删除空目录
-p 用来递归删除空目录
6、rm 删除文件、目录
-r 递归删除,用来删除目录,不管目录是不是空的
-i 交互式,删除之前需要用户确认
-f 和cp 的-f 参数差不多, 如果文件不存在也会给出警告信息
-v 显示删除的过程
7、cp 拷贝文件、目录
-r 递归拷贝文件或者目录
-l 将文件复制成硬链接
-s 将文件复制成软链接
-f 如果目标文件已存在,则直接覆盖,不给出任何提示
-i 如果目标文件已存在,则先会给出提示是否覆盖
8、mv 移动、重命名文件或者目录
mv ./aaa .../ 把当前目录下的 aaa 文件或者目录移动到上一级目录下
mv ./aaa ./bbb 把当前目录下的 aaa文件或者目录改名为 bbb
9、cat 查看文件的内容
-n 打印出行号,空白也会打印出行号
-b 列出行号,只针对非空白行,空白行不显示行号
10、tac 显示文件内容
tac 是 cat 的倒序,显示出来的结果也是相反的
11、more 查看文件
space 向下翻一行
/<string> 查找指定的 sting
-f 显示文件名以及当前行数的显示
q 立刻离开more
ctrl+b 往回翻页
12、less 查看文件
空格键 向下翻页
/字符串 向下搜索字符串
?字符串 向上字符串
ctrl+f 向下翻页
ctrl+b 向上翻页
13、head 显示文件头
-n 用来显示开头的n行
14、tail 显示文件尾
-n 后面跟数字,表示要显示从最后开始的n行
-f 表示持续刷新文件,用来查看该文件的持续变化
15、chown 改变文件所有者
16、chgrp 改变文件所属组
17、chmod 改变文件权限
-R 递归改变目录下文件的权限
文件所有者:u
文件所属组:g
其他用户: o
所有人 用 a 。修改文件权限的时候,要给修改的文件增加“+”,减少“-”,权限,或者等于“=”某个权限就可以了
r : 可读 4
w : 可写 2
x : 可执行 1
18、touch 创建文件或者修改文件时间戳
-a 只修改 access time
-c 只修改文件的时间,如果文件不存在则创建这个文件
19、umask 设置文件目录的掩码
实际文件的权限 = 用户指定的权限 - umask 掩码
20、find 在磁盘中查找文件
-name filename 按照文件名查找
-size[+-] SIZE 按照文件的大小查找
默认单位是512B---->0.5K--------->一个扇区大小
-M:不能写成小写m find /home/arrayli -size +3M -size -7M 查找文件大小在3M和7M之间的文件
-k: 不能写成大写 K find /home/arrayli -size +47k -size -89k 查找文件大小在47k 和 89k 之间的文件
-maxdepth find ./ -maxdepth 2 -type d
-exec、-ok
find ./ -maxdepth 1 -name "*.sh" -exec rm -r {} \;
find ./ -maxdepth 1 -name "*.sh" | -ok rm -r {} \;
xargs find ./ -maxdepth 1 -type f -print0 | xargs -0 ls -lh
print0 修改成以 '\0' 或者为 null 结尾的字符串
-type TYPE 按照文件类型查找
-amin n 查找文件系统中最后n分钟访问的文件
-atime n 查找文件系统中最后n*24小时访问的文件
-ctime n 查找文件属性最后 n*24 小时修改的文件
-cmin n 查找文件系统中最后n分钟被改变 文件状态的文件
-mmin n 查找文件系统中最后n分钟被改变文件数据的文件
-mtime n 查找文件系统中最后n*24小时被改变的文件数据的文件
21、grep 过滤或者搜索,可以使用正则表达式
-i 忽略大小写
-v 反向查找
22、ln 创建软链接(快捷方式)
ln -s + 源文件名 目标文件名 创建软链接
ln -s a.txt a.soft 给a.txt 创建软链接 a.soft
ln + 源文件名 目标文件名 创建一个硬链接
ln a.txt a.so 给 a.txt 创建一个硬链接 a.so
23、top 查看系统使用资源
24、tty 查看当前终端号
25、打包、压缩包、解压包
(1)、gzip
gzip a.txt 压缩a.txt gzip 不支持目录打包
gunzip a.txt.gz 解压缩
(2)、bzip2 (-k 可以保留原文件)
bzip2 a.txt 压缩a.txt 为 a.txt.bzp2
bunzip2 a.txt.bzp2 解压缩
(3)、tar 打包
c 创建(压缩)
x 释放(解压缩)
v 显示提示信息(可以省略)
f 指定压缩文件的名字
j 使用 bzip2 方式压缩文件 .bz2
z 使用 gzip 方式压缩文件 .gz
压缩:
tar zcvf 生成压缩包的名字(xxx.tar.gz) 需要压缩的文件或者目录的文件或者目录
tar jcvf 生成压缩包的名字(xxx.tar.bz2) 需要压缩的文件或者目录的文件或者目录
解压缩:
tar jxvf 压缩包的名字(解压到当前目录)
tar jxvf 压缩包的名字 -C 解压后放在哪个目录下
rar 方式压缩和解压
a 压缩
x 解压
zip 方式压缩和解压
-r 压缩目录需要加参数 -r
zip 压缩包的名字 压缩后的文件或者目录
unzip 压缩包的名字
unzip 压缩包的名字 -d 解压目录
26、ps 查看当前进程的命令
a 显示所有进程
-a 显示同一终端下的所有程序
-A 显示所有进程
c 显示进程的真是名称
-N 反向选择
e 显示环境变量
f 显示程序间的关系
-H 显示树状结构
r 显示当前终端的进程
T 显示当前终端的所有程序
u 指定用户的所有进程
-au 显示较详细的资讯
-aux 显示包含所有其他使用者的进程
-ef 标准的格式显示进程的信息
27、关机和重启
reboot 重启
shutdown -h now 立刻关机