linux常用命令(一)

99 阅读9分钟

一、 用户相关

  • 添加用户
  • 根用户/root
  • 普通用户/home
  • 设置权限
  • 修改密码

二、 目录文件相关

  1. 进入目录cd
  • 进入上层目录cd  ..
  • 进入目标目录cd  /root/test/
  • 显示目录路径pwd

2. 浏览目录

  • 列出所有Is -a
  • 列出详细Is -l
  • 列出友好Is -h

3. 创建目录

  • 创建单级目录mkir   /test
  • 创建多级目录mkdir  /root/test

4. 增加文件

  • 创建单级目录touch  a.txt
  • 创建多级目录touch  /root/test/b.txt

5. 删除文件(目录)

  • 删除目录:m  -df  /var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
  • 删除文件:m  -f  /var/log/nt to d/access.log将会强制删除/var/log/httpd/access.log这个文件
  • -r就是向下递归,不管有多少级目录,一并删除作任何提示的意思;-f就是直接强行删除.

6. 移动文件(目录)

  • 重命名。mv b.txt  c.txt 将文件b.txt重命名为c.txt
  • 重命名前备份。mv  -b  123.txt  345.txt 将123.txt重命名为345.txt,并且先备份345.txt
  • 移动并且覆盖。mv  -f  123.txt  /home/hk/cpdir/copy/abc将123.txt移动到/home/hk/cp dr/copy/并取名为abc,若已存在文件abc覆盖时不会有任何提示。
  • 移动并且重命名并且覆盖。mv  -i  123.txt  /home/hk/cpdir/copy/abc将123.xt移动到/home/hk/cpdir/copy/并取名为abc,若已存在文件abc则会询问是否覆盖。
  • -I如果目标文件存在,将会询问用户是否覆盖;-f覆盖已有的目标文件时不给出任何提示;-b若需要覆盖文件,则覆盖前先进行备份;-S与-b参数一并使用可指定备份文件所要附加的字尾

7. 复制文件(目录)

  • 复制文件。cp adf  b.txt  /copy 将文件b.txt复制到当前路径下的copy目录下
  • 复制文件到另外一个目录并且改名。cp  a.doc  /home/hk/cpdir/copy/b.doc将文件a.doc复制到/home/hk/cpdir/copy/文件夹下,并改名为b.doc
  • 复制目录到另外一个目录。 cp  -r  /home/hk/cpdir  /home/hk/c 将目录/home/hk/cpdir递归地复制到/home/hk/c文件

三、 文件文本内容的查找

  1. 文件类型file

  2. 文件查找find

  • 最常用和最强大的查找命令。实时查找,精确查找,但速度慢
  • find的使用格式如下:#find  [指定目录] [指定条件] [指定动作]
  • 指定目录:是指所要搜索的目录和其子目录。如果不指定,则默认为当前目录。
  • 指定条件:是指所要搜索的文件的特点
  • 指定动作:是指对搜索的结果如何处理

3. 文件locate

  • locate命令不是实时查找,所以查找的结果不精确,但查找速度很快。
  • 查找的不是目录,而是一个数据库(/var/lb/locatedb) 。这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用之前, 先使用updatedb命令, 手动更新数据库
  • locate使用格式,locate[指定目录]
  • 例:查找所有包含passwd的文件,#locate passwd
  • 例:查找所有包含passwd的文件,并且只显示前十个#locate  -n10  passwd

4. 文件查找which

  • 主要用来查找系统PATH目录下的可执行文件, 本质就是查找本地已经安装好的可直接执行的命令
  • 不需要关注在哪个目录下执行, which总会查找全局PATH下的可执行文件。若可执行文件不在PATH下, 也是无法被which查询到中

5. 文本查找whereis

l whereis用于查找二进制(命令) 、源文件、man文件通过文件索引数据库而非PATH来查找。(与which不同之处) ,同样不需要关注哪个路径下执行。

6. 文本筛选grep

  • 在指定的文件中查找字符串:grep root  /etc/passwd。在/etc/passwd中查找root字符
  • 结合正则一起使用
  • 结合管道一起使用:cat/etc/passwd l grep root

7. 文本命令cat浏览

  • 浏览cat   a.txt
  • 使用cat命令查看文件时, 如一文件有很多行, 会出现滚屏的问题, 这时可以使用more或less查看, more或less可以和其他命令结合使用, 也可单独使用

8. 文本命令less/more浏览

  • 浏览less   a.txt
  • less命令的功能几乎和more命令一样。也用来按页显示文件,不同之处在于less命令显示文件时既可以向前,又可以向后翻阅文件

9. 文本命令tail浏览

  • tail命令和less类似,tail既可以指定显示文家的最后多少行,也可以滚动显示日志
  • tail常用参数如下-n,从Number变量表示的行位置开始读取指定文件

四、文件解压缩相关*

1. 后缀.tar 

  • 解包:tar  xvf  abc.tar
  • 打包:tar  cvf  abc.tar [目标路径]
  • (注:tar是打包,不是压缩!)

2. 后缀.gz

  • 解压1:gunzip  abc.gz
  • 解压2:gzip  -d  abc.gz
  • 压缩:gzip  abc.gz

3. 后缀.tar.gz 和 .tgz

  • 解压:tar  zxvf  abc.tar.gz
  • 压缩:tar  zcvf  abc.tar.gz  [目标路径]

4. 后缀.bz2

  • 解压1:bzip2  -d  abc.bz2
  • 解压2:bunzip2  abc.bz2
  • 压缩: bzip2  -z  abc.bz2

5. 后缀.tar.bz2

  • 解压:tar  jxvf  abc.tar.bz2
  • 压缩:tar  jcvf  abc.tar.bz2  [目标路径]

6. 后缀.bz

  • 解压1:bzip2  -d  abc.bz
  • 解压2:bunzip2  abc.bz
  • 压缩:未知

7. 后缀.tar.bz

  • 解压:tar  jxvf  abc.tar.bz
  • 压缩:未知

8. 后缀.Z

  • 解压:uncompress  abc.Z
  • 压缩:compress  abc.Z

9. 后缀.tar.Z

  • 解压:tar  zxvf  abc.tar.Z
  • 压缩:tar  zcvf  abc.tar.Z  [目标路径]

10. 后缀.zip

  • 解压:unzip  abc.zip
  • 压缩:zip  abc.zip  [目标路径]

11. 后缀.rar

  • 解压:rar  x  abc.rar
  • 压缩:rar  a  abc.rar  [目标路径]

五、文件权限相关*

1. 权限控制

Linux 对文件创建者(所属用户),所属用户组,其他用户都赋予不同的权限

图片 1.png

图片 2.png

图片 3.png

2. 修改权限Chomd

  • U /G/O
  • Chmod  +x  a.txt   # 给所有用户
  • Chmod  u+x  a.txt  # 给所属用户添加执行
  • Chmod  u=x   a.txt  # 给所属用户赋予执行
  • Chomod  777  a.txt  # 给所有用户添加执行

六、进程端口相关

1. 进程查找

1.1 进程显示 ps 命令

  • a: 显示当前终端下的所有进程信息,包括其他用户的进程。与“x”选项结合时将显示系统中所有的 进程信息。
  • u:使用以用户为主的格式输出进程信息。
  • x:显示当前用户在所有终端下的进程信息。
  • e:显示系统内的所有进程信息。
  • l:使用长格式显示进程信息。
  • f:使用完整的格式显示进程信息。

1.2 进程树显示 pstree命令

  • pstree命令可以输出Linux系统中各进程的树形结构,以更加直观地判断出各进程之间的相互关系(父、子进程)。
  • pstree命令默认情况下只显示个进程的名称,结合“-p”选项使用时可以同时列出对应的PID号,结合“-u”选项可以列出对应的用户名,结合“-a”选项可以列出完整的命令信息。

1.3 所有线程显示 top命令

  • top命令将会在当前终端以全屏交互式的界面显示进程排名。
  • 及时跟踪包括CPU、内存等系统资源占用情况,默认情况下每三秒刷新一次。
  • 作用类似Windows系统中的“任务管理器”。

2. 控制进程

2.1手动启动进程

用户输入命令直接启动一个进程, 脚本启动 (进入bin目录或者通过脚本启动)

2.2调度启动进程 系统管理员根据系统资源和进程占用资源的情况,事先进行调度安排,指定任务运行的时间和场合,到时候系统会自动完成该任务。常用的进程调度命令有:at、batch、crontab

2.3挂起当前进程 当Linux系统中的命令正在前台执行时(运行尚未结束),按Ctrl+Z组合键可以将当前进程挂起(调入后台并停止执行),这种操作在需要暂停当前进程并进行其他操作时特别有用。

2.4查看后台进程 查看当前终端中在后台运行的进程任务时,可以使用jobs命令,结合“-l”选项可以同时显示出该进程对应的PID号

2.5将后台进程恢复

  • 使用bg(BackGround,后台)命令,可以将后台中暂定执行(如按Ctrl+Z组合键挂起)的任务恢复运行,继续在后台执行操作。
  • 使用fg命令(ForeGround,前台)命令,可以将后台任务重新恢复到前台运行。除非后台中的任务只有一个,否则bg和fg命令都需要指定后台进程的任务编号作为参数。例如,执行“fg 1”命令可以将之前挂起至后台的cp进程重新调入前台执行。

3. 终止进程

  • 进程号杀死进程  kill -9 pid
  • 进程名杀死进程  killall -9 vim
  • 使用pkill命令可以根据进程的名称、运行该进程的用户、进程所在的终端等多种属性终止特定的进程,大部分选项与pgrep命令基本类似,如“-U”(指定用户)、“-t”(指定终端)等选项。

4. 进程与端口号

  • 通过关键字查进程号ps -ef |grep 关键字
  • 通过进程号查端口号lsof -i | grep pid 或者netstat -nap | grep pid
  • 通过端口号查进程号 lsof -i:port 或者netstat -nap | grep port
  • 通过进程号查目录通过 ll /proc/{进程号}/cwd查看运行目录

5. Service 命令

service命令其实是去/etc/init.d目录下,去执行相关程序

service命令启动redis脚本

service redis start

6. Systemctl命令

  • Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器。 Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

  • 启动mysql服务。systemctl start mysqld.service

  • 停止mysql服务。systemctl stop mysqld.service

  • 重启mysql服务。systemctl restart mysqld.service

  • 查看mysql服务当前状态。systemctl status mysqld.service

  • 设置mysql服务开机自启动。systemctl enable mysqld.service

  • 停止mysql服务开机自启动。systemctl disable mysqld.service