Linux常用命令

systemctl:服务管理命令

systemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器

systemctl #列出所有的系统服务
systemctl status docker #显示服务状态
systemctl list-dependencies docker #列出服务层级和依赖关系

systemctl start docker #启动服务
systemctl stop docker #关闭服务
systemctl restart docker #重启服务

systemctl enable docker #设置服务自启动
systemctl disable docke #禁止服务自启动
systemctl is-active docker #查看服务是否运行
systemctl is-enabled docker #查看服务是否自启动
systemctl list-units --type=service #列出系统所有服务的启动情况 
systemctl list-unit-files|grep enabled #列出所有自启动服务

 centos6 没有使用 systemd,所以没有 systemctl 命令。对应的旧指令(chkconfig、service)

service docker status #显示服务状态
systemctl list-dependencies docker #列出服务层级和依赖关系

service docker start #启动服务
service docker stop #关闭服务
service docker restart #重启服务

chkconfig --level 3 docker on #设置服务自启动
chkconfig --level 3 docker off #禁止服务自启动

chkconfig --list docker #查看服务是否自启动
chkconfig --list #列出系统所有服务的启动情况

 

ps查看进程信息

ps -f -C docker # 使用 -C 查找
ps
-ef|grep docker # 使用 grep 查找;

| 符号,是个管道符号,表示ps 和 grep 命令同时执行;

grep 命令是查找(Global Regular Expression Print),能使用正则表达式搜索文本,然后把匹配的行显示出来;

ps命令常用参数: 

  • -C : 显示指定进程
  • -e : 显示所有进程
  • -f : 全格式
  • -h : 不显示标题
  • -l : 长格式
  • -w : 宽输出
  • a :显示终端上的所有进程,包括其他用户的进程。
  • r :只显示正在运行的进程。
  • u :以用户为主的格式来显示程序状况。
  • x :显示所有程序,不以终端机来区分。

which寻找配置在环境变量$PATH中的可执行文件命令,返回系统命令的位置 。

which nginx #如果nginx正确安装可放回环境变量中配置的位置

whereis: 命令用于搜索指定程序的相关文件

这些文件包含 二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)如果省略参数,则返回所有信息

whereis nginx
  • -b : 仅搜索二进制文件
  • -m : 仅搜索说明文件
  • -s : 仅搜索源代码文件

find:根据条件是在硬盘上遍历查找文件

find [paths] [expression] [actions]

find 命令接受一个或多个路径(paths)作为搜索范围,并在该路径下递归地搜索。即检索完指定的目录后,还会对该目录下的子目录进行检索,以及子目录下的子目录。。。直到到达目录树底部

默认情况下(不带任何搜索条件),find 命令会返回指定目录下的所有文件,所以常常需要通过特定的 expression 对结果进行筛选。

find 命令默认的 action 是将所有检索结果打印至标准输出。可以通过自定义 action ,让 find 命令对搜索到的结果执行特定的操作。

常用参数

  • -[a,m,c]time [+/-]n : 在过去 n 天内被访问(a)、修改(m)、状态属性修改(c)过,带“-”表示符合该数量n以后的,带“+”表示符合该数量以前n+的。
  • -[a,m,c]min n : 在过去 n 分钟内被访问(a)、修改(m)、状态属性修改(c)过,带“-”表示符合该数量n以后的,带“+”表示符合该数量以前n+的。
  • -delete : 删除检索到的文件
  • -depth n : 检索深度为 n 的文件,即位于指定目录以下 n 层的文件
  • -empty : 检索空文件或空目录
  • -fstype type:  指定文件所在的文件系统的类型
  • -group gname : 指定文件的属组
  • -iname pattern : 同 -name,忽略大小写
  • -ipath pattern : 同 -path,忽略大小写
  • -ls : 打印搜索到的文件的详细信息
  • -maxdepth n : 指定递归的最大层数为 n
  • -name pattern : 搜索时使用 pattern 对文件名进行匹配
  • -path pattern : 搜索时使用 pattern 对文件路径进行匹配
  • -perm mode : 根据文件权限搜索
  • -size n[ckMGTP] : 根据文件大小搜索
  • -type t : 根据文件类型搜索,t = f: 文件;d: 目录;l: 符号链接
  • -user uname : 指定文件的属主
  • -exec 选项可以对搜索到的结果执行特定的命令。
  • -ok: 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
  • -print: find命令将匹配的文件输出到标准输出。

一些示例

find /usr -name '*.txt'  #查找 /usr 目录下所有文件名以 .txt 结尾的文件
find /usr -name '????' #查找 /usr 目录下所有文件名刚好为 4 个字符的文件
find ~ -type d -empty #检索用户主目录下所有的空目录
find /usr -type d -name 'python*'  #检索 /usr 下所有文件名以 python 开头的目录
find . -name "[A-Z]*" #查以大写字母开头的文
find . -name "[a-z][a-z][0–9][0–9].txt" #查以两个小写字母和两个数字开头的txt文件
find /usr -type f ! -name '*.txt' # 检索 /usr 下所有文件名不以 .txt 为后缀的文件
find /usr -type f ! -empty # 检索 /usr 下所有内容不为空的文件
find / -type f -user starky # 检索根目录下所有用户属主为 starky 的文件
find /usr -type f -mtime 2 #检索 /usr 下两天前被修改过的文件
find /usr -type f -mtime +50 -mtime -100  #检索 /usr 下 50 到 100 天之前修改过的文件
find /usr -type f -mtime 2 -amin 5 #检索 /usr 下两天前被修改过且 5 分钟前又读取过的
find / -size +1G 检索文件大小高于 1 GB 的文件,
find /usr -perm u=rwx,g=rx,o=rx # 如需要检索 /usr 目录下权限为 rwxr-xr-x 的文件
find /usr -perm a=rx #搜索 /usr 目录下所有权限为 r-xr-xr-x(即系统中的所有用户都只有读写权限)的文件和目录
find /usr -perm 644 搜索 /usr 目录下权限为 644(即 rwxr-xr-x)的文件
find / '(' -mmin -5 -o -mtime +50 ')' -a -type f # 搜索5分钟前,到前50天以后的文件
find ~ -type d -empty -delete # 搜索~目录下所有空文件并删除这些文件
find ~ -type f -mtime +7 -ok rm {} \; # 查找~目录中更改时间在7日以前的普通文件,并在删除之前询问
find ./ -type f -name '*.mp3' -exec cp {} /media ';'  #搜索当前目录下所有mp3文件,并拷贝到 /media 目录中
find ~ -type f -name '*.mp3' -exec tar -czvf music.tar.gz {} + #检索出所有符合条件的音频文件,再将得到的文件列表传递给后面的压缩命令

 >或tree清空文件 

>test.log 
true >test.logs

stat :显示文件或目录文件系统的详细信息

stat testfile   #显示testfile文件信息
  File: `testfile'
  Size: 102             Blocks: 8          IO Block: 4096   regular file
Device: 807h/2055d      Inode: 1265161     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2014-08-13 14:07:20.000000000 +0800
Modify: 2014-08-13 14:07:07.000000000 +0800
Change: 2014-08-13 14:07:07.000000000 +0800

date:查看和修改Linux的时间

1. 查看时间和日期

date #显示当前时间
Fri Jun 28 11:19:17 CST 2019
date -R #显示当前时区
Fri, 28 Jun 2019 11:19:30 +0800

2.设置时间和日期

date -s 11/03/2009 #将系统日期设定成2009年11月3日的命令
date -s 17:55:55 #将系统时间设定成下午5点55分55秒的命令

3. 将当前时间和日期写入BIOS,避免重启后失效

hwclock -w

uname:显示计算机操作系统信息

 uname命令用于显示电脑以及操作系统的相关信息。

uname [-amnrsv][--help][--version]
  • -s 显示内核名称
  • -n 显示网络节点上的主机名
  • -r 显示linux内核发行号
  • -v 显示linux内核版本
  • -m 显示主机的硬件架构名称
  • -p 显示处理器类型
  • -i 显示硬件平台
  • -o 显示操作系统名称
  • -a 显示全部信息
  • --help  显示帮助。
  • --version  显示uname版本信息。

demo

uname -a #显示全部信息
Linux webserver 3.10.0-957.21.3.el7.x86_64 #1 SMP Tue Jun 18 16:35:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

lsb_release:查看当前系统的发行版信息

lsb_release [-avidrch]
  • -v 显示版本信息。
  • -i 显示发行版的id。
  • -d 显示该发行版的描述信息。
  • -r 显示当前系统是发行版的具体版本号。
  • -c 发行版代号。
  • -a 显示上面的所有信息。
  • -h 显示帮助信息。
lsb_release -a #显示全部信息
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID:    CentOS
Description:    CentOS Linux release 7.6.1810 (Core) 
Release:    7.6.1810
Codename:    Core

如果lsb_release没有安装可以使用“yum install -y redhat-lsb”安装也可以直接使用 cat /etc/issue或cat /etc/os-release 查看

 

添加固定ip

vi /etc/sysconfig/network-scripts/ifcfg-eth0
 
#设置静态ip地址
bootproto=static
onboot=yes
 
#然后再设置下ip地址、子网掩码、网关、dns服务器
IPADDR=192.168.0.164
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1

 systemctl restart network

 

查考文档

Linux 命令大全

posted @ 2012-09-27 15:06  ejiyuan  阅读(2541)  评论(1编辑  收藏  举报