一、Linux目录结构
bin:存放二进制可执行文件(ls,cat,mkdir等)
boot:存放用于系统引导时使用的各种文件
dev:用于存放设备文件
etc:存放系统配置文件
home存放所有用户文件的根目录
lib:存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt:系统管理员安装临时文件系统的安装点
opt:额外安装的可选应用程序包所放置的位置
proc:虚拟文件系统,存放当前内存的映射
root:超级用户目录
sbin:存放二进制可执行文件,只有root才能访问
tmp:用于存放各种临时文件
usr:用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var:用于存放运行时需要改变数据的文件
二、Linux文件基本属性
1、通过ll来显示某个目录下的内容,它的第一个字符代表这个文件的类型:
d:代表目录
-: 代表文件
l: 代表链接文档
b:代表装置文件里面的可供储存的接口设备(可随机存取装置);
c:代表装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)
2、第一个字符后面的九位字符代表该文件的所属权限
R:可读 W:可写 X:可执行 每组中的“-”字符代表没有此权限
三、Linux处理目录的常用命令
1、ls - 列出目录
ls -a :全部的文件,连同隐藏档( 开头为 . 的文件) 一起列出来
ls -l : 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
注:ls -l 与 ll 两个命令稍微有点不同,ll 命令会把隐藏的文件也列出来
2、cd - 切换目录
切换目录首先得知道两个路径,即绝对路径和相对路径:
绝对路径:路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法
cd ~:回到自己的家目录
cd ..:回到到当前的上一级目录
cd /usr/local:使用绝对路径切换
3、pwd - 显示当前所在的目录
4、mkdir - 创建目录
-m :直接配置配置文件的权限,不需要看默认权限 的脸色
-p :直接将所需要的目录(包含上一级目录)递归创建起来,常用
注意:如果在创建文件的时候报没有创建文件的权限时,可以在命令前加sudo,然后输入密码即可
5、touch - 创建文件
touch 命令可创建一个文件,但是不会递归创建,只能在已存在的目录仅创建一个文件,当创建的文件已存在时,重新创建也不会覆盖原有的文件
6、sudo - 权限命令
sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行
-V:显示版本编号
-h:会显示版本编号及指令的使用方式说明
-l:显示出自己(执行 sudo 的使用者)的权限
-v:因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重 新做一次确认,如果超过 N 分钟,也会问密码
-k:将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b:将要执行的指令放在背景执行
-p:prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u:username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s:执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H:将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
7、rm - 删除目录
rm 命令可以删除文件或者目录
-rf:强制删除文件夹以及文件夹中的所有文件命令,这也是最危险的命令,使用的时候需谨慎
-i:删除文件的时候会提示时候要删除
-f:强制删除文件,不会提示
注意:不加-r参数,不能删除目录
-r:向下递归删除
-f:直接强行删除,且没有任何提示
8、rmdir - 删除空的目录
rmdir 命令是删除一个空的目录,加-p的参数,会递归删除空的目录,如果目录下面有文件,是直接删除不掉的
9、cp - 复制文件或者目录
-i:复制文件的时候会提示
-r:递归复制,复制目录及目录内所有项目
-a:复制的文件与原文件时间一样
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用)
10、mv - 移动文件或者重命名文件
移动文件或修改文件名,根据第二参数类型决定(如目录,则移动文件;如为文件则重命令该文件),如果要移动多个文件,则我那件之间空格分隔
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
四、Linux文件内容查看常用命令
cat:由第一行开始显示文件内容
tac:从最后一行开始显示,可以看出 tac是 cat 的倒着写!
nl:显示的时候,顺道输出行号!
more:一页一页的显示文件内容
less:与 more 类似,但是比 more 更好的是,他可以往前翻页!
head:只看头几行
tail:只看尾巴几行
1、cat - 命令
(1)、一次显示整个文件
b:列出行号,仅针对非空白行做行号显示,空白行不标行号!
-n:列印出行号,连同空白行也会有行号,与 -b 的选项不同;
(2)、从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
(3)、将几个文件合并为一个文件:cat file1 file2 > file
2、tac - 命令
tac与cat命令刚好相反,文件内容从最后一行开始显示,可以看出 tac 是 cat 的倒着写
3、more - 命令
一页一页翻动,但是只能向下翻页,不能往上翻
在more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页
Enter:代表向下翻『一行』
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字
:f:立刻显示出档名以及目前显示的行数
q:代表立刻离开 more ,不再显示该文件内容
b 或 [ctrl]+b:代表往回翻页,不过这动作只对文件有用,对管线无用
4、less - 命令
与more一样也是一页一翻动,但是他能任意浏览,向前向后都可以翻页
less运行时可以输入的命令有:
空白键:向下翻动一页;
[pagedown]:向下翻动一页
pageup]:向上翻动一页
/字串:向下搜寻『字串』的功能
?字串:向上搜寻『字串』的功能
5、head - 命令
取出文件前面几行,默认是开头10行
-n:后面接数字,代表显示几行的意思
6、tail - 命令
取出文件后面几行,默认是结尾10行
-f:循环读取(常用于查看日志文件)
-n<行数>:显示行数(从后向前)
7、find - 命令
find是个使用频率比较高的命令,常常用它在系统特定目录下,查找具有某种特征的文件
命令格式:
find pathname -options [-print -exec -ok ...]
命令参数:
path:要查找的目录路径
~表示$HOME目录
.表示当前目录
/表示根目录
print:表示将结果输出到标准输出。
exec:对匹配的文件执行该参数所给出的shell命令,形式为command {} \;,注意{}与\;之间有空格
-amin n 查找系统中最后N分钟访问的文件
-atime n 查找系统中最后n*24小时访问的文件
-cmin n 查找系统中最后N分钟被改变文件状态的文件
-ctime n 查找系统中最后n*24小时被改变文件状态的文件
-mmin n 查找系统中最后N分钟被改变文件数据的文件
-mtime n 查找系统中最后n*24小时被改变文件数据的文件
通过一些简单的例子来介绍下find的常规用法:
(1)、在当前目录及子目录中,查找大写字母开头的txt文件
find . -name '[A-Z]*.txt' -print
(2)、在当前目录除aa之外的子目录内搜索 txt文件
find . -path "./aa" -prune -o-name "*.txt" -print
(3)、查找2天内被更改过的文件
find . -mtime -2 -type f -print
(4)、查找10分钟以前状态被改变的
find . -cmin +10 -type f -print
注: 在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索
which:查看可执行文件的位置
whereis:查看文件的位置
locate:配合数据库查看文件位置
find:实际搜寻硬盘查询文件名称
8、grep - 命令
强大的文本搜索命令,用于查找文件里符合条件的字符串
以递归的方式查找符合条件的文件:
例如,查找指定目录/etc/acpi 及其子目录(如果存在子目录的话)下所有文件中包含字符 串"update"的文件,并打印出该字符串所在行的内容,使用的命令为:
grep -r update /etc/acpi
9、wc - 命令
统计指定的文件中字节数、字数、行数,并将统计结果输出,不加参数时查出结果默认为:
行数 单词数 字节数 文件名
-c:统计字节数
-l :统计行数
-m:统计字符数
-w:统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串
五、Linux 磁盘管理
Linux磁盘管理好坏管理直接关系到整个系统的性能问题
df:列出文件系统的整体磁盘使用
du:检查磁盘空间使用量
1、df - 命令
df命令参数功能:检查文件系统的磁盘空间占用情况,可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统
-k :以 KBytes 的容量显示各文件系统
-m:以 MBytes 的容量显示各文件系统
-h :以人们较易阅读的 GBytes、MBytes、KBytes 等格式自行显示
-H:以 M=1000K 取代 M=1024K 的进位方式
-T:显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出
-i :不用硬盘容量,而以inode 的数量来显示
2、du - 命令
Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的
-a:列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已
-h:以人们较易读的容量格式 (G/M) 显示
直接输入 du 没有加任何选项时,则 du 会分析当前所在目录的文件与目录所占用的硬盘空间
六、Lnux其他命令
1、&、&&、|、|| 命令
&:表示任务在后台执行,如要在后台运行redis-server,则有 redis-server &
&&:表示前一条命令执行成功时,才执行后一条命令 ,如 echo '1‘ && echo '2'
|:表示管道,上一条命令的输出,作为下一条命令参数,如 echo 'yes' | wc -l
||:表示上一条命令执行失败后,才执行下一条命令,如 cat nofile || echo "fail"
参考:https://blog.csdn.net/chinabestchina/article/details/72686002
https://www.cnblogs.com/gaojun/p/3359355.html