一、系统目录知识
/bin:
bin 是 Binaries (二进制文件) 的缩写, 这个目录存放着最经常使用的命令。
/boot:
这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev :
dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc:
etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。(核心)
/home:
用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib:
lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/opt:
opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/root:
该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:
s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/tmp:
tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr:
usr 是 unix system resources(unix 系统资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
二、Linux 文件基本属性
在 Linux 中我们通常使用以下两个命令来修改文件或目录的所属用户与权限:
chown (change owner) : 修改所属用户与组。
chmod (change mode) : 修改用户的权限。
下图中通过 chown 来授权用户,通过 chmod 为用户设置可以开门的权限。
三、Linux 文件与目录管理
绝对路径:
路径的写法,由根目录 / 写起,例如: /usr/share/doc 这个目录。
相对路径:
路径的写法,不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。
处理目录的常用命令
ls(英文全拼:list files): 列出目录及文件名
cd(英文全拼:change directory):切换目录
pwd(英文全拼:print work directory):显示目前的目录
mkdir(英文全拼:make directory):创建一个新的目录
rmdir(英文全拼:remove directory):删除一个空的目录
cp(英文全拼:copy file): 复制文件或目录
rm(英文全拼:remove): 删除文件或目录
mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称
touch 创建一个普通文件 touch a.txt
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。 man是英文单词手册的简写
Linux 文件内容查看
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
你可以使用 man [命令] 来查看各个命令的使用文档,如 :man cp。 man是英文单词手册的简写
Ctrl + C 终止当前执行的操作
echo 用于字符串的输出,属于shell操作
echo 111 > a.txt 将111输出重定向(覆盖)命令,将文件中的内容覆盖。
echo 111 > a.txt 将111输出重定向(追加)命令,追加新的内容。
或者仅打印 echo hello
hello
逻辑与 和 逻辑或
a && b a执行成功才会执行a
a || b a执行失败才会执行b
find命令:用于在指定目录下查找文件
find 指定目录 -name/-type/-size 值 type是按照类型匹配 -size 按照文件大小
返回文件的位置信息
通配符 *
查找以.conf结尾的文件
find /etc -name "*.conf"
shell三剑客:grep \ sed \ awk
grep 搜索 : 用于查找文件里符合条件的字符串。通常配合 | 管道 对命令执行的结果进行搜索 ps:进程管理器(process)
ps -ef 查看系统当前正在运行的进程 ,并显示 uid 和 pid 和 cmd表示进程的路径等
ps -ef | grep sshd 查找sshd的进程
管道前的结果 给后面的进行过滤
ps -ef | grep crond | grep -v grep -v 取反,在第一个管道查找的结果中去掉包含 grep 的内容
which 搜索 用于查找文件
ln(英文全拼:link files) 命令:链接:分为:软连接和硬链接
硬链接的意思是一个文件可以有多个名称;而软连接的方式则是产生一个特殊的文件,该文件的内容指向另一个文件的位置(类似:windows中的快捷方式)
软硬链接的区别是有无 -s 参数
ln -s 目标文件的绝对路径 软链接名(快捷方式)
ln 目标文件的绝对路径 硬链接名
打包压缩 tar
参数: -c 建立新的备份文件
-x 从备份文件中还原文件
-v 显示命令执行过程
-f 指定备份文件
-z 通过gzip指定处理备份文件
打包: tar -cvf files.tar files 将files文件打包 命名为 files.tar
tar -zcvf files.tar.gz files 将files文件打包 命名为 files.gz
解压 -zxvf
history 查看历史命令
tab键 自动补齐
Ctrl + a 把光标移动到命令开头位置
Ctrl + e 把光标移动到命令结尾位置
vi / vim 编辑器
vim 是 vi 的编辑器的增强版
三种模式:命令模式(command mode) 刚进入文件时
输入模式(insert mode) 使用 a 或者 i ,退出 使用Esc
底线模式(用于退出、保存) :wq :q! 或者shift + ZZ
光标移动:
0 行首 $ 行尾 ,命令模式下
跳到文件的最后一行 G
跳到文件的第一行 gg
复制 命令模式下
yy 复制光标当前所在行内容
nyy 复制当前往下n行
粘贴 命令模式下
p 当前行的下一行粘贴
P 当前行的上一行粘贴
删除
dd 删除光标当前所在行
ndd 删除当前行往下 n 行
撤销
u 撤销上一步操作 , 类似于 windows 中的 Ctrl + z
ctrl + r 反撤销
行号与搜索功能
显示行号 :set nu 取消显示行号 :set nonu
搜索 /d 搜索字符d 按n向下切换 D向上切换
:noh 取消搜索匹配后的高亮
替换
:2,4s/原内容/替换内容/gc 将2-4行的进行替换
没有g表示,替换每一行匹配的第一个,g表示替换这一行所有匹配到的
c表示替换前给用户提示
注意:如果进行全局替换,所谓的第一行到最后一行
:%s/原内容/替换内容/gc