Linux 常用的操作命令汇总(持续更新~)

ls /  查看根目录下的所有文件和文件夹(不显示详细信息)。这里如果把/换成某个文件夹全路径(如 ls /root),则显示的是文件夹内的信息;

Linux 常用的操作命令汇总(持续更新~)

ls -l /    -l 显示详细信息(等价于ll /  ll 是 ls -l的缩写)
Linux 常用的操作命令汇总(持续更新~)

 ll -a  -a 显示隐藏文件(隐藏文件以“.”开头,同windows下的隐藏文件) 

Linux 常用的操作命令汇总(持续更新~)

 ll -h /   -h 以更可读的形式展示内容(文件大小的单位会自动转换为最合适的,如下单位变成了K)

Linux 常用的操作命令汇总(持续更新~)

 ll -i    -i 显示inode节点(每个文件都有一个inode用于全局唯一标识),注意这里没有指定路径,则默认是当前路径

Linux 常用的操作命令汇总(持续更新~)

 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:

  1. ## 只在 BASH 中可行 ##
  2. cd ~/Downloads/
  3. GLOBIGNORE=*.zip:*.iso
  4. rm -v *
  5. 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

上一篇:MYSQL数据库配置可能会遇到的问题·相信我,一篇就够了。


下一篇:模反元素 (Modular Multiplicative Inverse)