一、Linux文件系统
二、Linux常用命令
1、基本命令
1. 关机和重启
关机
shutdown -h now #立刻关机
shutdown -h 5 #5分钟后关机
poweroff #立刻关机
重启
shutdown -r now #立刻重启
shutdown -r 5 #5分钟后重启
reboot #立刻重启
2、目录操作命令
1. 打印当前路径:pwd (print working directory)
pwd #打印当前目录所在路径
2. 路径切换:cd (change directory)
. #当前目录
cd / #切换到根目录
cd /usr #切换到根目录下的usr目录
cd .. #切换到上一级目录
cd ~ #切换到home目录
cd - #切换到上次访问的目录
3. 列出当前目录下文件:ls (list)
ls #查看当前目录下的所有目录和文件
ls -a #查看当前目录下的所有目录和文件(包括隐藏的文件)
ls -l #列表查看当前目录下的所有目录和文件(显示文件完整信息)
ls -la #(以上两个组合)
ls -lh #以可读方式显示当前目录文件
ls /dir #查看指定目录下的所有目录和文件 如:ls /usr
4. 创建目录:mkdir (make directory)
mkdir dir0 #在当前目录下创建一个名为dir0的目录
mkdir /usr/dir0 #在指定目录下创建一个名为dir0的目录
mkdir -p dir1/dir2 #创建目录dir1及其子目录dir2
注:删除目录可使用:rmdir (remove directory)
rmdir dir0 #删除目录dir0
不能删除非目录
可用rm命令替代
5. 删除目录或文件:rm (remove)
rm filename #删除当前目录下的文件或目录
rm -f filename #强制删除文件或目录 (force)
rm -r filename #递归删除该目录下所有文件 (recursion)
rm -rf filename #将当前目录下的所有目录和文件全部删除
注:rm不仅可以删除目录,也可以删除其他文件或压缩包,无论删除任何目录或文件,都直接使用rm -rf 目录/文件/压缩包
6. 移动(剪切)命令:mv (move)
(1)重命名目录
命令:mv 当前目录 新目录
示例:mv file0 file1
将目录file0改为file1
注意:mv可以对各种目录、文件,压缩包等进行重命名的操作
(2)剪切目录
命令:mv 目录名称 目录的新位置
示例:mv /usr/tmp/file0 /usr
将/usr/tmp目录下的file0剪切到 /usr目录下面
注意:mv可以对各种目录、文件,压缩包等执行剪切操作
7.拷贝命令:cp (copy)
cp -r #递归复制所有文件 -r代表递归(recursion)
cp -f #强制覆盖
cp -d #只复制链接文件
示例:cp /usr/tmp/file0 /usr
将/usr/tmp目录下的file0复制到 /usr目录下面
注意:cp可以对各种目录、文件、压缩包等进行拷贝,拷贝文件和压缩包时不用写-r递归
8. 搜索命令:find
文件查找命令:find 目录 参数 文件名称
find /usr/temp -name 'dir0' #查找dir0文件或目录
find 'dir0' #(没加路径)在当前路径下查找dir0文件或目录
find /usr/temp -name '*.txt' #查找以.txt结尾的文件 ( * 为通配符)
#高级用法
find /usr/temp -mtime -2 #查找/usr/temp目录下近两天内有变动的文件
2、文件操作命令
部分命令可同时操作文件和目录,用法上文已描述,此处不再赘述。
1. 新建文件:touch
命令:touch 文件名
示例:touch temp.txt
在当前目录创建一个名为temp.txt的文件
2. 文件中字符串查找:grep
格式:grep 选项 查找模式 文件名
grep -r #递归查找
grep -n #显示所在行号
grep -w #全字匹配
grep -n "abc" test1.txt #在 test1.txt 中查找字符串 abc
grep -rn "abc" * #在当前目录递归查找字符串 abc
grep “ABC” * -nwr #在当前目录下全字递归搜索字符ABC并打印行号
3. 修改文件:vi或vim
vim编辑器的3种模式:命令模式(command mode),插入模式(Insert mode),底行模式(last line mode)
(1) 命令行模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,j
【2】删除当前行:dd
【3】查找:/字符
【4】进入编辑模式:i o a
【5】进入底行模式::
(2) 编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式;
(3) 底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出: :q!
【3】保存并退出: :wq
三种模式转换关系如图所示:
注意:当你不知道 vi 当前处于何种模式时,使用 esc 键返回到一般模式。
文件查看
cat:看最后一屏
示例:使用cat查看/etc/sudo.conf文件,只能显示最后一屏内容
cat sudo.conf
more:百分比显示
示例:使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
less:翻页查看
示例:使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看
less sudo.conf
tail:指定行数或者动态查看
示例:使用tail -10 查看/etc/sudo.conf文件的后10行,Ctrl+C结束
tail -10 sudo.conf
3. 文件权限命令
(1) 改变文件所属任务组:chgrp (change group)
例如:chgrp ly install.log
将 install.log 文件的用户组改为 hy 用户组。注意 ly 用户组必须要在/etc/group 文件内存在才可以。
(2)改变文件的所有者:chown (change owner)
例如:chown bin install.log
注意:改变文件所有者和用户组的这两个命令的应用场景:复制文件,由于复制行为
会复制执行者的属性和权限,因此复制后需要改变文件所属用户、用户组等。
(3)改变文件的权限:chmod (change mode)
rwx权限说明:r代表可读,w代表可写,x代表该文件是一个可执行文件。
用二进制数表示,三位二进制数最大可表示:(1表示开启权限,0表示关闭)
rwx = 111 ----> 权限数字=7
rwx = 110 ----> 权限数字=6
... ...
rwx = 000 ----> 权限数字=0
权限分三类:拥有者user、同组用户group、其他用户others
各自都有自己的权限属性rwx
①数字方式修改权限
例如:chmod 777 .bashrc
将文件.bashrc 这个文件的所有权限(三类权限)设置都启用。
②符号方式设置权限
使用 u、g、o 三个字母代表 user、group、others 3 中身份。此外 a 代
表 all,即所有身份。
例如:chmod u=rwx,go=rx .bashrc
也可以增加或去除某种权限,“+”表示添加权限,“-”表示去除权限:
chmod a-x .bashrc
chmod a+w .bashrc
3、文件压缩、解压命令
1. 文件压缩命令:gzip
gzip -l(list) #列出压缩文件的内容。
gzip -k(keep) #在压缩或解压时,保留输入文件。
gzip -d(decompress) #将压缩文件进行解压。
示例:
① 查看压缩文件
gzip -l pwd.1.gz
② 解压文件
gzip -kd pwd.1.gz
该压缩文件是以.gz 结尾的单个文件
③ 压缩文件
gzip -k mypwd.txt
得到了一个.gz 结尾的压缩文件
2. 文件压缩命令:bzip2
的常用选项:
bzip2 -k(keep) #在压缩或解压时,保留输入文件;
bzip2 -d(decompress) #将压缩文件进行解压缩;
示例:
① 压缩文件
bzip2 -k mypwd.txt
得到一个.bz2 后缀的压缩文件。
② 解压文件
bzip2 -kd mypwd.1.bz2
注意:
- 如果 bzip2 不加任何选项,此时为压缩,但会删除原文件,加-k可保留
- bzip2 只能压缩单个文件,不能压缩目录。
- 一般情况下,小文件使用 gzip 来压缩,大文件使用 bzip2 来压缩。bzip2 的
的压缩率更高。
3.压缩命令:tar
tar -c(create): #用来压缩文件包
tar -x: #表示提取,从文件包中提取文件。
tar -t: #可以查看压缩的文件。
tar -z: #使用 gzip 方式进行处理,它与-c结合就表示压缩,与-x结合就表示解压缩。
tar -j: #使用 bzip2 方式进行处理,它与-c结合就表示压缩,与-c结合就表示解压缩。
tar -v(verbose): #详细报告 tar 处理的信息。
tar -f(file): #表示文件,后面接着一个文件名。 -C <指定目录> 解压到指定
示例1:tar 打包、gzip 压缩
① 把目录 dira 压缩、打包为 dira.tar.gz 文件:
tar -czvf dira.tar.gz dira
② 查看压缩文件:tar tvf dira.tar.gz
③ 解压文件,可以用-C 指定解压到哪个目录:
tar xzvf dira.tar.gz //解压到当前目录
tar xzvf dira.tar.gz -C /home/book //解压到/home/book。
示例2:tar 打包、bzip2 压缩
①把目录 dira 压缩、打包为 dira.tar.bz2 文件:
tar cjvf dira.tar.bz2 dira
② 查看压缩文件:tar tvf dira.tar.bz2
③ 解压文件,可以用-C 指定解压到哪个目录
tar xjvf dira.tar.bz2 //解压到当前目录:
tar xjvf dira.tar.bz2 -C /home/book //解压到/home/book
注意:“tar –czvf”与“tar czvf”是一样的效果。
4、网络命令
(留坑)