Linux第四章 linux常用命令

第四章 linux常用命令

ls cd mkdir rmdir pwd cp mv rm touch cat more less head tail ln chmod chown chgrp umask find locate which whereis grep man whatis help useradd passwd who w gzip gunzip tar zip unzip bzip2 bunzip2 write wall ifconfig mail ping traceroute last lastlog netstat mount shutdown

文件处理命令

  • 命令格式
    命令 [-参数] [对象]
    ls -la /etc

个别命令使用不遵循此规则

当有多个参数时, 可以写在一起

  1. 命令 : ls
    英文 : list
    路径 : /bin/ls
    权限 : 所有用户
    功能 : 显示当前目录下的内容
    语法 : ls [-参数] [对象]
    参数 :

-a all, 显示所有内容, 包括隐藏文件

隐藏文件 : 以.开头的文件, 设计初衷是告诉用户这是一个系统文件, 没事不要操作它.

-l long, 显示详细信息

显示七部分信息, 可简写成ll

[root@localhost ~]# ll
total 127028
-rw-------. 1 root root 1964 Nov 28 15:51 anaconda-ks.cfg
drwxr-xr-x. 2 root root 6 Nov 28 15:54 Desktop
等等

  1. -rw-------.

- : 文件类型, -是二进制文件, d是目录, l是软链接文件
rw- : u 所有者
--- : g 所属组
--- : o 其他人
权限r : 读, w : 写, x : 执行, - : 无
数字表示 : r=4, w=2, x=1, -=0

  1. 1

文件引用的次数

  1. root

文件把用户分成三类 : 所有者 ( user ), 所属组 ( group ), 其他人 ( other )
创建文件的用户是user, user的身份是可以转变的, user只能是一个
定义了一组相同类型的用户, 授权相同权限的用户有对该文件操作的权限, group只能有一个
剩余的都是other, 他们是没有权限的
这里的root为user

  1. root

为group

  1. 1964

大小, 单位是字节, 如果加上参数-h就会人性化显示.
homo人类的意思, 这个参数在其他命令中也可使用.

  1. Nov 28 15:51

这个文件最后一次的修改时间.

  1. anaconda-ks.cfg

文件名

-d 显示当前目录本身, 而不是目录下的内容

-i i node, 显示目录下内容的i节点

  • 目录处理命令
  1. 命令 : mkdir
    英文 : make directories
    路径 : /bin/mkdir
    权限 : 所有用户
    功能 : 创建新的目录
    语法 : mkdir [-参数] [对象]
    参数 :

-p 当目录不存在时, 递归创建

  1. 命令 : cd
    英文 : change directory
    路径 : shell内置命令
    权限 : 所有用户
    功能 : 切换目录
    语法 : cd [对象]
    . : 表示当前目录
    .. : 表示上一级目录
  2. 命令 : pwd
    英文 : print working directory
    路径 : /bin/pwd
    权限 : 所有用户
    功能 : 显示当前目录
    语法 : pwd [对象]
  3. 命令 : rmdir
    英文 : remove empty directory
    路径 : /bin/rmdir
    权限 : 所有用户
    功能 : 删除空目录
    语法 : rmdir [对象]
  4. 命令 : cp
    英文 : copy
    路径 : /bin/cp
    权限 : 所有用户
    功能 : 复制文件或目录
    语法 : mkdir [-参数] [原文件或目录] [目标目录]/[改的名]
    也可给文件改名
    参数 :

-r 复制目录

-p 保留文件属性

  1. 命令 : mv
    英文 : move
    路径 : /bin/mv
    权限 : 所有用户
    功能 : 剪切或改名文件
    语法 : mv [原文件或目录] [目标目录]
  2. 命令 : rm
    英文 : remove
    路径 : /bin/rm
    权限 : 所有用户
    功能 : 删除目录或文件
    语法 : mkdir [-参数] [对象]
    参数 :

-r 删除目录

-f 强制删除

  • 文件处理命令
  1. 命令 : touch
    路径 : /bin/touch
    权限 : 所有用户
    功能 : 创建空文件
    语法 : touch [对象]
  2. 命令 : cat
    路径 : /bin/cat
    权限 : 所有用户
    功能 : 显示文件内容
    语法 : mkdir [-参数] [对象]
    参数:

-n 显示行号

  1. 命令 : more
    路径 : /bin/mkdir
    权限 : 所有用户
    功能 : 分页显示文件内容
    语法 : more [对象]

空格f : 翻页

回车 : 换行

q : 退出

  1. 命令 : less
    路径 : /usr/bin/less
    权限 : 所有用户
    功能 : 分页显示文件内容 ( 可向上翻页 )
    语法 : less [对象]

上箭头 : 向上换行

/+内容 : 搜索内容, n可向下找

  1. 命令 : head
    路径 : /usr//bin/head
    权限 : 所有用户
    功能 : 显示文件前面几行
    语法 : more [-参数] [对象]
    参数 :

-n 指定行数

  1. 命令 : tail
    路径 : /usr//bin/tail
    权限 : 所有用户
    功能 : 显示文件后面几行
    语法 : tail [-参数] [对象]
    参数 :

-n 指定行数

-f 动态显示文件末尾内容

  • 链接命令
  1. 命令 : ln
    英文 : link
    路径 : /bin/ln
    权限 : 所有用户
    功能 : 生成软硬链接文件
    语法 : ln [-参数] [原文件] [目标文件]
    参数 :

-s 创建软链接
不加参数生成硬链接

软链接特征 :

软链接类似windows中的快捷方式

文件类型为l, 权限为777, 但是真正的权限是由原文件的权限决定的

文件大小很小, 只是一个符号链接

箭头指向原文件 /tmp/issue.soft -> /etc/issue

使用时路径必须是绝对路径

硬链接特征 :

与原文件相同 + 同步更新 , 原文件丢失, 硬链接文件依然可以使用

通过i节点识别, 硬链接文件和原文件的i节点相同

不能跨分区使用

不能针对目录使用

权限管理命令

  1. 命令 : chmod
    英文 : change the permissions mode of a file
    路径 : /bin/chmod
    权限 : 所有用户
    功能 : 改变文件或目录权限
    语法 : chmod [-参数] [方式] [目标文件]
    只有是root用户或是文件所有者才能修改文件的权限
    参数 :

-R 递归修改, 改变目录下的所有文件的权限

方式 :

字母表示法 : [{ugoa} {+ - =} {rwx}]

数字表示法 : [421]

权限对文件来说对目录来说
rcat/more/lessls
wvi/vimtouch/mkdir/rm
xscript/commandcd
  1. 命令 : chown
    英文 : change file ownership
    路径 : /bin/chown
    权限 : 所有用户
    功能 : 改变文件或目录的所有者
    语法 : chown [用户] [文件或目录]
  2. 命令 : chgrp
    英文 : change file group ownership
    路径 : /bin/chgrp
    权限 : 所有用户
    功能 : 改变文件或目录的所属组
    语法 : chgrp [用户组] [文件或目录]
    文件所属组是创建者的所属组
  3. 命令 : umask
    英文 : the user file-creation mask
    路径 : shell内置命令
    权限 : 所有用户
    功能 : 显示和设置文件的缺省权限
    语法 : umask [-参数] [文件或目录]
    参数 :

-S 显示文件权限

umask 显示默认创建权限 0022

0 : 特殊权限
022 : 按位与后是 755

创建目录时的权限是755
创建文件时的权限是644 ( 默认情况下, 新建的文件不具有可执行权限 )

umask 444 设置默认创建时的权限是333

umask 444
444 按位与后是 333

文件搜索命令

  1. 命令 : find
    路径 : /bin/find
    权限 : 所有用户
    功能 : 文件搜索
    语法 : find [搜索范围] [匹配条件]
    匹配条件 :

-name 文件名
find /etc -name ?init*

/etc下找到文件名为?init*的文件

?init*
? : 匹配单个字符
* : 匹配任意字符

-iname 不区分大小写

-size 大小
find / -size +204800

/下找到大于100MB的文件

+ : 大于
- : 小于
= : 等于
204800 : 数据块

1数据块=512字节=0.5K
100MB=102400K
102400K/0.5K=204800

-user 所有者
find /home -user centos

/home下找到所有者为centos的文件

-group 所属组

-cmin 文件属性 change
find /etc -cmin -5

/etc下找到5分钟内被修改过属性的文件和目录
- : 小于
+ : 大于

-amin 访问时间 access
-mmin 文件内容 modify

-a 连接选项 and

两个条件同时满足

-o or

两个条件满足任意一个即可

-type 文件类型
根据type查找

f : 文件
d : 目录
l : 软链接文件

-inum 根据i节点查找

-exec 对find返回的结果进行操作
find /etc -name inittab -exec ls {} \;

find语句+-exec + 命令 + {} \;
{} : 对find返回的结果整合替换
\ : 转义符
; : 结束

  1. 命令 : locate
    路径 : /usr/bin/locate
    权限 : 所有用户
    功能 : 在文件资料库中查找文件
    语法 : locate [文件名]

updatedb : 手动更新资料库
locate是在文件资料库中查找, 速度快; 而find是在分区下查找, 速度慢.

/tmp : 有些目录并不在文件资料库的收入范围之内, 比如/tmp, 它下面的文件是没办法通过locate找到的.

-i : 参数, 不区分大小写.

  1. 命令 : which
    路径 : /usr/bin/which
    权限 : 所有用户
    功能 : 搜索命令所在目录及别名信息
    语法 : which [命令名]
[root@localhost ~]# which cp
alias cp='cp -i'		:		别名
        /usr/bin/cp		:		命令位置
  1. 命令 : whereis
    路径 : /usr/bin/whereis
    权限 : 所有用户
    功能 : 搜索命令所在目录及帮助文档路径
    语法 : whereis [命令名]
[root@localhost ~]# whereis cp
cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz /usr/share/man/man1p/cp.1p.gz
cp: /usr/bin/cp		:		命令位置
/usr/share/man/man1/cp.1.gz		:		帮助文档位置
/usr/share/man/man1p/cp.1p.gz		:		帮助文档位置

帮助文档都放在/usr/share/man下, manmanual手册的意思

  1. 命令 : grep
    路径 : /bin/grep
    权限 : 所有用户
    功能 : 在文件中搜寻字符串匹配的行并输出
    语法 : grep [指定字符串] [文件]

-i : 不区分大小写

-v : 反向查找

^#” : 以#开头
“#$” : 以#结尾

帮助命令

  1. 命令 : man
    英文 : manual
    路径 : /usr/bin/man
    权限 : 所有用户
    功能 : 获得帮助信息
    语法 : man [命令或配置文件]
    man不能获得shell内置命令的帮助信息

查看命令的帮助信息 :

[root@localhost ~]# man ls
{
	NAME
	       ls - list directory contents		:		命令的功能
	SYNOPSIS
	       ls [OPTION]... [FILE]...			:		命令的语法
	-a, --all
	        do not ignore entries starting with .	:		命令的参数
}
跟less命令的查找方式相同

查看配置文件的帮助信息 :

[root@localhost ~]# man services
{
	NAME
	       services - Internet network services list		:		配置文件的功能
	
	Each line describes one service, and is of the form:
			service-name   port/protocol   [aliases ...]	:		配置文件的格式
}
使用配置文件的相对路径即可, 使用绝对路径则打开的是文件内容.

如果它既是配置文件(5)又是命令(1), 系统会默认打开命令的帮助信息, 打开配置文件的帮助需声明"man 5 配置文件名称"
  1. 命令 : whatis
    功能 : 获取命令的功能信息
    语法 : whatis [命令]
  2. 命令 : apropos
    功能 : 获取命令的功能信息
    语法 : apropos [命令]
  3. 命令 : --help
    功能 : 获取命令的参数信息
    语法 : [命令] --help
  4. 命令 : help
    功能 : 获取shell内置命令的帮助信息
    语法 : help [命令]

用户管理命令

  1. 命令 : useradd
    路径 : /usr/bin/useradd
    权限 : root
    功能 : 添加新用户
    语法 : useradd 用户名
  2. 命令 : passwd
    英文 : password
    路径 : /usr/bin/passwd
    权限 : 所有用户 ( root可以更改所有用户的密码, 且密码可随意设置; 普通用户只能更改自己的密码, 但密码必须遵守密码规则 )
    功能 : 給用户设置密码
    语法 : passwd 密码
  3. 命令 : who
    路径 : /usr/bin/who
    权限 : 所有用户
    功能 : 查看登录用户信息
    语法 : who
[root@localhost ~]# who
root     :0           2023-01-02 09:26 (:0)
root     pts/0        2023-01-02 09:26 (:0)
root     pts/1        2023-01-02 09:26 (192.168.200.1)
root     tty2         2023-01-02 09:26

root : 登录用户名

:0 : 本地终端
tty2~6 : 本地终端
pts/1 : 远程终端

ctrl + alt + F2~6 : 可切换到终端tty2~6, tty1是图形化界面终端

2023-01-02 09:26 : 登录时间

(192.168.200.1) : IP地址

  1. 命令 : w
    路径 : /usr/bin/w
    权限 : 所有用户
    功能 : 查看登录用户详细信息
    语法 : w
[root@localhost ~]# w
 09:38:01 up 13 min,  4 users,  load average: 0.00, 0.08, 0.13
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     :0       :0               09:26   ?xdm?  41.70s  0.36s /usr/libexec/gn
root     pts/0    :0               09:26   11:29   0.08s  0.08s bash
root     pts/1    192.168.200.1    09:26    1.00s  0.12s  0.02s w
root     tty2                      09:26   11:05   0.07s  0.07s -bash

09:38:01 : 登录时间
up 13 min : linux连续运行的时间
4 users : 用户
load average: 0.00, 0.08, 0.13 : 系统在1,5,15分钟时的负载指数

IDLE : 用户登录后的操作时间, 为0则是空闲
JCPU : 累计占用的CPU时间
PCPU : 当前命令占用的CPU时间
WHAT : 用户执行的操作, -bash是还没有执行操作

压缩解压命令

  1. 命令 : gzip
    英文 : GNU zip
    路径 : /bin/gzip
    权限 : 所有用户
    功能 : 压缩文件
    语法 : gzip [文件]
    压缩文件格式 : .gz
  2. 命令 : gunzip
    英文 : GUN unzip
    路径 : /bin/gunzip
    权限 : 所有用户
    功能 : 解压.gz的压缩文件
    语法 : gunzip [压缩文件]

gzip只能压缩文件, 不能压缩目录

不保留原文件

  1. 命令 : tar
    路径 : /bin/tar
    权限 : 所有用户
    功能 : 打包
    语法 : tar [参数] [压缩后文件名] [文件或目录]
    压缩文件格式 : .tar.gz
    参数 :
-c : 打包
-v : 显示详细信息
-f : 指定打包文件或目录
-z : 打包并压缩
-x : 解包

压缩 : tar -zcvf tian tian.tar.gz

解压 : tar -zxvf tian.tar.gz

  1. 命令 : zip
    路径 : /usr/bin/zip
    权限 : 所有用户
    功能 : 压缩文件或目录
    语法 : zip [参数] [压缩后文件名] [文件或目录]
    压缩文件格式 : .zip
    参数 :

-r : 压缩目录

  1. 命令 : unzip
    路径 : /usr/bin/unzip
    权限 : 所有用户
    功能 : 解压.zip的压缩文件
    语法 : unzip [压缩文件]
  2. 命令 : bzip2
    路径 : /usr/bin/bzip2
    权限 : 所有用户
    功能 : 压缩文件
    语法 : bzip2 [参数] [文件]
    压缩文件格式 : .bz2
    参数 :

-k : 保留原文件

注意 :

bzip2的压缩比非常高, 一般用来压缩比较大的文件.

和tar连用 :

tar -jcvf tian.tar.bz2 tian
-z换成了-j

  1. 命令 : bunzip2
    路径 : /usr/bin/bunzip2
    权限 : 所有用户
    功能 : 解压压缩文件
    语法 : bunzip2 [参数] [压缩文件]
    参数 :

-k : 保留原文件

和tar连用 :

tar -jxvf tian.tar.bz2 tian
-z换成了-j

网络命令

  1. 命令 : write
    路径 : /usr/bin/write
    权限 : 所有用户
    功能 : 给用户发信息
    语法 : write 用户名

用户必须在线

敲回车, 输入信息, ctrl+退格键delete为退格, 按ctrl+d保存结束.

  1. 命令 : wall
    英文 : write all
    路径 : /usr/bin/wall
    权限 : 所有用户
    功能 : 发广播信息
    语法 : wall [message]

所有用户都会收到message.

  1. 命令 : ping
    路径 : /bin/ping
    权限 : 所有用户
    功能 : 测试网络连通性
    语法 : ping [参数] IP地址
    参数 :

-c : 指定发送次数

默认为一直ping, 按ctrl+c终止命令

  1. 命令 : ifconfig
    英文 : interface configure
    路径 : /sbin/ifconfig
    权限 : root
    功能 : 查看和设置网卡信息
    语法 : ifconfig [网卡名称] [IP地址]

linux默认为两张网卡

ens33或eth0 : 本机网卡
lo : 环回网卡

[root@localhost test]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.200.10  netmask 255.255.255.0  broadcast 192.168.200.255
        inet6 fe80::bfbf:ed39:8854:d57f  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:b7:c3:e7  txqueuelen 1000  (Ethernet)
        RX packets 2094  bytes 188729 (184.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 1291  bytes 182714 (178.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

inet 192.168.200.10 netmask 255.255.255.0 broadcast 192.168.200.255

IP地址, 子网掩码, 网关

  1. 命令 : mail
    路径 : /bin/mail
    权限 : 所有用户
    功能 : 查看发送电子邮件
    语法 : mail [用户名]
[root@localhost ~]# mail centos
Subject: test		:		邮件标题
hello centos		:		邮件内容
EOT					:		ctrl+d结束
[root@localhost ~]# 
[centos@localhost ~]$ mail
Heirloom Mail version 12.5 7/5/10.  Type ? for help.
"/var/spool/mail/centos": 1 message 1 new
>N  1 root                  Tue Jan  3 09:32  18/617   "test"		:		第一封邮件
& 1					:		输入1, 查看邮件
.
.
.

hello centos		:		邮件内容

& h					:		列出邮件标题
>   1 root                  Tue Jan  3 09:32  18/617   "test"
& q					:		退出
Held 1 message in /var/spool/mail/centos
[centos@localhost ~]$

本地用户和本地用户通信用的是本地内存, 无需搭建邮件服务, 网络也不需要.

如果是与真正的网络邮箱通信, 网络是必须的.

  1. 命令 : last
    路径 : /usr/bin/last
    权限 : 所有用户
    功能 : 列出当前与过去登录系统的用户信息
    语法 : last
  2. 命令 : lastlog
    路径 : /usr/bin/lastlog
    权限 : 所有用户
    功能 : 查看用户上次登录的时间
    语法 : lastlog [参数]
    参数 :

-u : lastlog -u + uid

  1. 命令 : traceroute
    路径 : /bin/traceroute
    权限 : 所有用户
    功能 : 显示数据包到主机间的路径 ( 追踪 )
    语法 : traceroute [网址]
  2. 命令 : netstat
    路径 : /bin/netstat
    权限 : 所有用户
    功能 : 显示网络相关信息
    语法 : netstat [参数]
    参数 :

-n : 显示IP地址和端口号
-l : 监听
-t : tcp协议
-u : udp协议
-r : 路由
-p : 服务名

[root@localhost ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      730/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1513/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1200/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1199/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1520/master         
tcp6       0      0 :::111                  :::*                    LISTEN      730/rpcbind         
tcp6       0      0 :::21                   :::*                    LISTEN      3241/vsftpd         
tcp6       0      0 :::22                   :::*                    LISTEN      1200/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1199/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1520/master         
udp        0      0 0.0.0.0:46509           0.0.0.0:*                           735/avahi-daemon: r 
udp        0      0 0.0.0.0:901             0.0.0.0:*                           730/rpcbind         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           1513/dnsmasq        
udp        0      0 0.0.0.0:67              0.0.0.0:*                           1513/dnsmasq        
udp        0      0 0.0.0.0:111             0.0.0.0:*                           730/rpcbind         
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           735/avahi-daemon: r 
udp6       0      0 :::901                  :::*                                730/rpcbind         
udp6       0      0 :::111                  :::*                                730/rpcbind 

Recv-Q : 接收数据包, 为0则表成功
Send-Q : 发送数据包, 为0则表成功
Local Address : 本地IP地址和本机开放的目的端口
PID/Program name : 源端口和服务名

[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.200.2   0.0.0.0         UG        0 0          0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
192.168.200.0   0.0.0.0         255.255.255.0   U         0 0          0 ens33

查看路由表

  1. 命令 : mount
    路径 : /bin/mount
    权限 : 所有用户
    功能 : ( 查看 ) 挂载
    语法 : mount [-t 文件系统] [设备文件名] [挂载点]
[root@localhost ~]# mount /dev/sr1 /opt/centos
mount: /dev/sr1 is write-protected, mounting read-only
[root@localhost ~]# umount /dev/sr1
卸载, 设备文件名和挂载点写一个即可.

关机重启命令

  1. 命令 : shutdown
    语法 : shutdown [参数] [时间]
    参数 :

-h : 关机
-r : 重启

  1. 关机

halt
poweroff
init 0

  1. 重启

reboot
init 6

  1. 系统运行级别

0 : 关机
1 : 单用户 ( 相当于windows中的安全模式, 只启动最核心的程序, 用来做修复的 )
2 : 不完全多用户, 不含nfs服务
3 : 完全多用户
4 : 未使用
5 : 图形界面
6 : 重启

init 1~5 : 切换系统运行级别

1~3 : 字符界面
4 : 不能使用
5 : 图形界面

runlevel : 查看系统运行级别

  1. 退出登录

logout

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值