ls / 查看根目录下的所有文件和文件夹(不显示详细信息)。这里如果把/换成某个文件夹全路径(如 ls /root),则显示的是文件夹内的信息;
ls -l / -l 显示详细信息(等价于ll / ll 是 ls -l的缩写)
ll -a -a 显示隐藏文件(隐藏文件以“.”开头,同windows下的隐藏文件)
ll -h / -h 以更可读的形式展示内容(文件大小的单位会自动转换为最合适的,如下单位变成了K)
ll -i -i 显示inode节点(每个文件都有一个inode用于全局唯一标识),注意这里没有指定路径,则默认是当前路径
ll -S -S 按照文件大小从大到小排序(默认是从小到大排序)
ll -t -t 按照文件修改时间排序(从当前时间往后排序,倒数第二列是修改时间)
ll -tr -r 表示反向排序
编辑的相关命令:
1.vi 文件名 进入一般模式;
2.按 i 进行编辑 进入编辑模式 ;(或者I, o, O, a, A, r, R)
3.编辑结束,按ESC 键 跳到一般模式模式;
4.按: 进入指令列命令模式 ;
进入指令列模式后的命令如下
1.保存不退出:
:w 保存文件但不退出vi 编辑
:w! 强制保存,不退出vi 编辑
:w file 将修改另存到file中,不退出vi 编辑
2.保存并退出:
:wq 保存文件并退出vi 编辑
:wq! 强制保存文件并退出vi 编辑
3.不保存并退出:
:q 不保存文件并退出vi 编辑
:q! 不保存文件并强制退出vi 编辑
:e! 放弃所有修改,从上次保存文件开始在编辑
关机命令:
1、halt 立刻关机
2、poweroff 立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown -h 10 10分钟后自动关机注:如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启。
重启命令:
1、reboot
2、shutdown -r now 立刻重启(root用户使用)
3、shutdown -r 10 过10分钟自动重启(root用户使用)
4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)
文件压缩及解压
1. tar 命令
语法: tar [主选项 + 辅选项] 文件或目录
# 压缩文件 file1 和目录 dir2 到 test.tar.gz
tar -zcvf test.tar.gz file1 dir2
# 解压 test.tar.gz(将 c 换成 x 即可)
tar -zxvf test.tar.gz
# 列出压缩文件的内容
tar -ztvf test.tar.gz
释义
-z : 使用 gzip 来压缩和解压文件
-v : --verbose 详细的列出处理的文件
-f : --file=ARCHIVE 使用档案文件或设备,这个选项通常是必选的
-c : --create 创建一个新的归档(压缩包)
-x : 从压缩包中解出文件2. rar 命令
# 压缩文件
rar a -r test.rar file
# 解压文件
unrar x test.rar
释义
a : 添加到压缩文件
-r : 递归处理
x : 以绝对路径解压文件3. zip 命令
# 压缩文件
zip -r test.zip file
# 解压文件
unzip test.zip
释义
-r : 递归处理
删除目录中指定文件及目录下文件
删除当前目录下的文件
1.rm -f * #最经典的方法,删除当前目录下的所有类型的文件
2.find . -type f -delete或find . -type f -exec rm -f {} \;
#用find命令查找普通文件并删除or用find命令的处理动作将其删除
3.find . -type f | xargs rm -f #用于参数列表过长;要删除的文件太多
4.rm-f find . -type f #删除全部普通文件
5.for delete in ls -l;do rm -f * ;done #用for循环语句删除当前目录下的所有类型的文件
删除指定目录下的文件
1.rm -f 指定目录* #最经典的方法,删除指定目录下的所有类型的文件
2.find 指定目录 -type f -delete或find 指定目录 -type f -exec rm -f {} \;
#用find命令查找指定目录下的所有普通文件并删除or用find命令的处理动作将其删除
3.find 指定目录 -type f | xargs rm -f #用于参数列表过长;要删除的文件太多
4.rm-f find 指定目录 -type f #删除指定目录下的全部普通文件
5.for delete in ls –l 指定目录路径;do rm -f * ;done
#用for循环语句删除指定目录下的所有类型的文件
6.ls -t|tail -10|xargs rm -fr #按时间排序,删除最后10个文件
#下面这种写法和上面的效果相同
ls -lt|tail -10|awk '{print $9}'|xargs rm -rf
删除目录中的特定文件
方式一
如果需要清理一个下载目录中的文件,其实就是想从~/Download/文件夹删去除了以下格式的文件外所以其它文件:
*.iso - 所有的iso格式的文件。
*.zip - 所有zip格式的文件。
如何在一个基于Linux,OS X 或者 Unix-like 系统上的bash shell中删除特定的文件呢?Bash shell 支持丰富的文件模式匹配符例如:
* - 匹配所有的文件。
? - 匹配文件名中的单个字母。
[...] - 匹配封闭括号中的任何一个字母。扩展的模式匹配符,在这里需要用系统内置的shopt命令来开启shell中的extglob选项,然后就可以使用扩展的模式符了,这些模式匹配符如下:
?(模式列表) - 匹配零次或一次给定的模式。
*(模式列表) - 匹配零次或多次给定的模式。
+(模式列表) - 至少匹配一次给定的模式。
@(模式列表) - 匹配一次给定的模式。
!(模式列表) - 不匹配给定模式。
一个模式列表就是一个或多个用 | 分开的模式(文件名),在Bash中删掉除.zip和.iso文件以外的所有文件rm 命令的语法格式为:
## 仅保留 file1 文件 ##
rm !(file1)
## 仅保留 file1 和 file2 文件##
rm !(file1|file2)
## 仅保留 zip 文件 ##
rm !(*.zip)
## 仅保留 zip 和 iso 文件 ##
rm !(*.zip|*.iso)
## 你也可以使用完整的目录 ##
rm /Users/vivek/!(*.zip|*.iso|*.mp3)
## 也可以传递参数 ##
rm [选项] !(*.zip|*.iso)
rm -v !(*.zip|*.iso)
rm -f !(*.zip|*.iso)
rm -v -i !(*.php)方式二
使用bash的 GLOBIGNORE 变量删除指定文件以外的所有文件;
用冒号分开的模式列表,通过路径展开方式定义了要忽略的文件集合。如果一个匹配到路径展开模式的文件也匹配GLOBIGNORE中的模式,那么它会从匹配列表中移除。
要删除所有文件只保留 zip 和 iso 文件,应如下设置 GLOBIGNORE:
- ## 只在 BASH 中可行 ##
- cd ~/Downloads/
- GLOBIGNORE=*.zip:*.iso
- rm -v *
- unset GLOBIGNORE
方式三
用 find 命令删除所有其它文件仅保留 zip 和 iso 文件
如果所使用的是 tcsh/csh/sh/ksh 或者其它shell,可以在Unix-like系统上试着用下面find命令的语法格式来删除文件:
find /dir/ -type f -not -name '匹配模式' -delete
或者
## 对于怪异的文件名可以使用 xargs ##
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm {}
find /dir/ -type f -not -name '匹配模式' -print0 | xargs -0 -I {} rm [选项] {}
想要删除 ~/source 目录下除 HTML以外的文件,语法:find ~/sources/ -type f -not -name '*.HTML' -delete
或者
find ~/sources/ -type f -not -name '*.HTML' -print0 | xargs -0 -I {} rm -v {}
只保留 *.zip 和 *.iso 文件的语法如下:
find . -type f -not −name′∗zip′−or−name′∗iso′−name′∗zip′−or−name′∗iso′ -delete