linux基本命令

文章目录
  1. 1. 前言
  2. 2. 文件基本属性
  3. 3. 文件与目录管理
    1. 3.1. mkdir 创建目录
    2. 3.2. cp 复制文件或文件夹
    3. 3.3. rm 移除文件或目录
    4. 3.4. mv 移动文件与目录或重命名
    5. 3.5. touch 新建文件
  4. 4. 文件内容查看
  5. 5. 系统管理
    1. 5.1. ps
    2. 5.2. kill
    3. 5.3. killall
    4. 5.4. nohup 不挂断进程
  6. 6. 文件管理
    1. 6.1. file
    2. 6.2. find
  7. 7. 文档编辑
    1. 7.1. grep
  8. 8. 备份压缩
    1. 8.1. tar
  9. 9. 参考

前言

可以使用 man 命令来查看各个命令的使用文档,如:man cp

文件基本属性

Linux中我们可以使用 ll 或者 ls –l 命令来显示一个文件的属性以及文件所属的用户和组

$ ll
total 2184
-rw-r--r-- 1 renyapeng staff 846K 9 22 16:08 db.json
drwxr-xr-x 315 renyapeng staff 9.8K 8 12 14:07 node_modules
drwxr-xr-x 21 renyapeng staff 672B 9 22 15:28 public

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)

文件基本属性

10位字符表示:

  • 0位:确定文件类型

  • 1-3位:确定该文件的所有者对文件的权限 owner

  • 4-6位:确定所有者的同组用户拥有该文件的权限 group

  • 7-9位:确定其他用户拥有该文件的权限 others

第一个字符:代表这个文件的类型,是目录、文件,还是一个链接等等

  • [ d ] 目录

  • [ - ] 文件

  • [ l ] 链接文档(link file)

  • [ b ] 可供储存的接口设备(可随机存取装置)

  • [ c ] 串行端口设备,例如键盘、鼠标(一次性读取装置)

接下来的字符:以三个一组分成三组,用 r、w、x 三个参数的组合表示,位置不会改变

  • [ r ] 代表可读(read)

  • [ w ] 代表可写(write)

  • [ x ] 代表可执行(execute)

  • [ - ] 没有权限

文件与目录管理

mkdir 创建目录

mkdir (make directory)

语法:

mkdir [-p] 目录名称

参数:

-m :配置文件的权限
-p :将所需要的目录(包含上一级目录)递归创建起来

实例:

$ mkdir test    // 创建新目录

$ mkdir test1/test2/test3/test4
mkdir: test1/test2/test3: No such file or directory // 不能创建多层目录

$ mkdir -p test1/test2/test3/test4 // 添加-p参数,可以创建多层目录

cp 复制文件或文件夹

语法:

cp [-adfilprsu] 来源档(source)目标档(destination)

参数:

-a :相当于 -pdr 的意思,至于 pdr 请参考下列说明(常用)
-d :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次
-i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档创建,而非复制文件本身
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用)
-r :递归持续复制,用于目录的复制行为(常用)
-s :复制成为符号连结档(symbolic link),亦即「捷径」文件
-u :若 destination 比 source 旧才升级 destination

实例:

$ cp -r test1 bashrc    // 复制文件夹并重命名

rm 移除文件或目录

rm (remove)

语法:

rm [-fir] 文件或目录

参数:

-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!

实例:

$ rm -ir test1    // 删除之前询问使用者是否动作
examine files in directory test1? y

mv 移动文件与目录或重命名

语法:

mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory

参数:

-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件(destination)已经存在时,就会询问是否覆盖
-u :若目标文件已经存在,且 source 比较新,才会升级(update)

实例:

$ mv test1 test2

touch 新建文件

语法:

touch

实例:

$ touch file    // 创建一个名为“file”的新空白文件

文件内容查看

Linux 系统中使用以下命令来查看文件的内容:

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写
  • nl 显示的时候,顺道输出行号
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是可以往前翻页
  • head 只看头几行
  • tail 只看尾几行

系统管理

ps

process

kill

语法:

kill [-s <信息名称或编号>][程序] 或 kill [-l <信息编号>]

参数:



实例:

$ kill 12345    // 杀死进程
$ kill -KILL 123456 // 强制杀死进程
$ kill -9 123456 // 彻底杀死进程

killall

nohup 不挂断进程

nohup (no hang up)

如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。

实例:

$ nohup java -jar ~/software/rocketmq-console-ng-1.0.1.jar &    // 启动 java jar
$ nohup sh ~/software/rocketmq-4.6.0/bin/mqbroker -n localhost:9876 & // 启动rocketmq bocker

文件管理

file

find

搜索指定文件|文件夹

find 路径 -name 名称

删除空文件|空文件夹

find 路径 -type d -empty|xargs -n 1 rm -rf

文档编辑

grep

备份压缩

tar

参考

https://www.runoob.com/linux/linux-tutorial.html