一、Linux 系统目录结构
1、查看系统结构目录
[guest@www.masswerk.at:2]$ ls /
bin dev etc home root sbin tmp
usr var
注:
bin:存放的是最常用的命令
boot:存放linux启动时使用的一些核心文件
dev:存放的是Linux的外部设备
etc:存放的是配置文件和子目录
home:用户的主目录
lib:共享文件库
root:系统管理员的用户主目录
tmp:存放一些临时文件
usr:存放一些应用程序和文件
var:存放日志的目录
2、远程登陆
Window 系统上 Linux 远程登录客户端有 SecureCRT, Putty, SSH Secure Shell 等,本文以 Putty 为例来登录远程服务器。
以下使用的是:putty为例
3、创建目录
mkdir demo.txt
注:mkdir + 目录名
touch + 文件名
注:创建文件
4、查看当前文件是属于哪一个目录
ls -l
5、查看隐藏的目录结构
ls -al
6、关于cd后面跟的字符的介绍
cd ~ 表示切换到根目录
cd .. 表示切换到当前目录的上一级
cd /目录/目录/ 表示以绝对路径进入到当前所指定的目录下
7、删除空的目录
[guest@www.masswerk.at:2]$ ls -l
drwxr-x--- 2 guest users -------- 2022/03/08 09:48:00 demo.txt
drwxr-x--- 2 guest users -------- 2022/03/08 10:01:06 test
[guest@www.masswerk.at:2]$ cd test
[guest@www.masswerk.at:2]$ pwd
/home/guest/test
[guest@www.masswerk.at:2]$ cd ..
[guest@www.masswerk.at:2]$ rmdir test rmdir + 所要删除的空目录
[guest@www.masswerk.at:2]$ ls -l
drwxr-x--- 2 guest users -------- 2022/03/08 09:48:00 demo.txt
[guest@www.masswerk.at:2]$
8、复制文件
cp -i home/guest/demo.txt /bin/demo_copy 文件的复制
注:如果加上 -i 的选项就会主动询问喔,避免你删除到错误的档名!
9、移动文件或者目录
[root@www ~]# cd /tmp
[root@www tmp]# cp ~/.bashrc bashrc
[root@www tmp]# mkdir mvtest
[root@www tmp]# mv bashrc mvtest
注:复制一文件,创建一目录,将文件移动到目录中
10、查看文件中的内容
cat + 所要查看的文件名 表示文件内容是从第一行开始进行展示
tac + 所要查看的文件名 表示文件内容从最后一行开始进行展示
11、一次创建多个文件
touch 文件前缀名_{1..3}_文件后缀名.文件后缀类型
注:{起始数字..终止数字}
12、该命令不但可以进行添加用户到系统还可默认新用户在/home目录下创建一个工作目录
sudo adduser + 用户的名字
13、切换到自己新创建的用户下
su -l + 新创建用户的名字
14、查看当前文件夹属于哪一个目录
groups + 只能是目录名
15、这里 cat 命令用于读取指定文件的内容并打印到终端输出,后面会详细讲它的使用。 | sort 表示将读取的文本进行一个字典排序再输出
cat + muluming + | sort
注:| sort 代表的是按照字典进行排序
| grep -E 表示该命令过滤掉一些不想看到的结果
16、删除新创建的用户
sudo deluser + 要删除的用户名 + --remove-home
注:--remove-home 使用该参数会将该用户的工作目录一并删除
17、查看文件权限
18、查看文件大小
ls -aSsh 查看文件大小
注:s 表示文件大小
S 文件大小排序
19、转换文件的拥有者
sudo chown + (想要让哪一个文件的所属者进行拥有,即拥有着的名字) + 文件名
20、修改成为自己的拥有者
21、强行退出
tatil
find /
注:以上两个命令中任意一个命令都可以进行使用,进行终止
22、查看当前登陆的用户名
whoami
23、修改文件的所有者
sudo chown root用户 文件名
24、修改用户的权限
chmod 600 + 文件名
25、删除添加的新用户
sudo deluser + 新添加的用户名 --remove-home
26、目录结构如下图所示
二、文件的基本操作
1、使用 -p 参数,同时创建父目录(如果不存在该父目录),如下我们同时创建一个多级目录(这在安装软件、配置安装路径时非常有用)
touch -p father/son/grandson
注:-p 参数表示一次创建多级目录
2、使用 cp 命令(copy)复制一个文件到指定目录;如果直接使用 cp 命令复制一个目录的话,会出现如下错误:
cp 被复制的文件名 具体复制在哪一个文件下的文件名
3、删除
3.1 删除文件
使用 rm(remove files or directories)命令删除一个文件:
rm + 文件名
有时候你会遇到想要删除一些为只读权限的文件,直接使用 rm 删除会显示一个提示,如下:
rm -f + 文件名
3.2 删除目录
跟复制目录一样,要删除一个目录,也需要加上 -r 或 -R 参数:
rm -r + 目录名
遇到权限不足删除不了的目录也可以和删除文件一样加上 -f 参数
rm -rf + 目录名
4.1 移动文件
使用 mv(move or rename files)命令移动文件(剪切)。命令格式是 mv 源目录文件 目的目录。
例如将文件“ file1 ”移动到 Documents 目录:
4.2 重命名文件
mv fileName myFile
三、环境变量
1、变量
注意:并不是任何形式的变量名都是可用的,变量名只能是英文字母、数字或者下划线,且不能以数字作为开头。
2、搜索文件
2.1 whereis
你会看到 whereis find 找到了三个路径,两个可执行文件路径和一个 man 在线帮助文件所在路径,这个搜索很快,因为它并没有从硬盘中依次查找,而是直接从数据库中查询。
2.2 locate
使用 locate 命令查找文件也不会遍历硬盘,它通过查询 /var/lib/mlocate/mlocate.db 数据库来检索信息。不过这个数据库也不是实时更新的,系统会使用定时任务每天自动执行 updatedb 命令来更新数据库。所以有时候你刚添加的文件,它可能会找不到,需要手动执行一次 updatedb 命令(在我们的环境中必须先执行一次该命令)。注意这个命令也不是内置的命令,在部分环境中需要手动安装,然后执行更新。
2.3 which 小而精
2.4 find
find 应该是这几个命令中最强大的了,它不但可以通过文件类型、文件名进行查找而且可以根据文件的属性(如文件的时间戳,文件的权限等)进行搜索。find 命令强大到,要把它讲明白至少需要单独好几节课程才行,我们这里只介绍一些常用的内容。
这条命令表示去 /etc/ 目录下面 ,搜索名字叫做 interfaces 的文件或者目录。这是 find 命令最常见的格式,千万记住 find 的第一个参数是要搜索的地方。命令前面加上 sudo 是因为 shiyanlou 只是普通用户,对 /etc 目录下的很多文件都没有访问的权限,如果是 root 用户则不用使用。
四、解压和打包
1、linux下的压缩文件的后缀有哪些?
2、打包
下面命令将目录 /home/shiyanlou/Desktop 打包成一个文件,并查看了打包后文件的大小和类型。第一行命令中,-r 参数表示递归打包包含子目录的全部内容,-q 参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。后面使用 du 命令查看打包后文件的大小(后面会具体说明该命令)
3、查看打包后的文件类型以及文件大小
du -h + 打包之后的文件名
4、如何将在linux上的压缩包能正常通过windows来进行解压
注:需要在打成压缩包的命令的基础上加上 -l 参数
zip -r -l -o shiyanlou.zip /home/shiyanlou/Desktop
-e 是给压缩文件加密
-q 表示的是安静模式
-r 表示递归打包包含子目录的全部内容
5、解压zip压缩包
5.1 解压到当前目录
unzip shiyanlou.zip
5.2 使用安静模式,将文件解压到指定目录
unzip -q shiyanlou.zip -d ziptest
-d 表示指定一个目录
注:如何没有该目录,则会进行自己创建
5.3 如何查看当前zip压缩文件中的内容
unzip -l shiyanlou.zip
注:使用 -l 参数,不用解压,指挥查看当前压缩包下的内容
5.4 如何解决中文乱码问题
unzip -O GBK 中文压缩文件.zip
注:-O 该参数后面指定编码类型
6、tar 压缩和解压
6.1 创建一个压缩包
下面命令中,-P 保留绝对路径符,-c 表示创建一个 tar 包文件,-f 用于指定创建的文件名,注意文件名必须紧跟在 -f 参数之后,比如不能写成 tar -fc shiyanlou.tar,可以写成 tar -f shiyanlou.tar -c ~。你还可以加上 -v 参数以可视的的方式输出打包的文件
cd /home/shiyanlou
tar -P -cf shiyanlou.tar /home/shiyanlou/Desktop
6.2 解压
解包一个文件(-x 参数)到指定路径的已存在目录(-C 参数)
mkdir tardir
tar -xf shiyanlou.tar -C tardir
注:-x 表示解压
-f 表示压缩文件名
-C 表示后面跟的是具体解压到哪一个指定目录下
6.3 查看文件并不解压该文件
只查看不解包文件 -t 参数
tar -tf shiyanlou.tar
注:-t 参数表示可以查看压缩文件中的内容并不可以进行解压
6.4 解压
解压 *.tar.gz 文件
tar -xzf shiyanlou.tar.gz
注:解包的参数是:-z
7、文件系统操作和磁盘管理
7.1 查看磁盘的容量
df
注:该命令后面加上参数 -h 表示以更易读的方式展示
7.2 查看目录的容量
du -h
8、命令帮助手册
8.1 如何区分内部命令和外部命令
9、执行顺序控制与管道
9.1 如何在当前目录下所搜名字为XXX的文本文件
注:-r 参数表示递归搜索子目录中的文件,-n 表示打印匹配项行号,-I 表示忽略二进制文件。这个操作实际没有多大意义,但可以感受到 grep 命令的强大与实用
10、简单的处理文本处理