Linux常用命令(2)

Linux常用命令(2)

1. 系统命令

1.1. du命令

显示指定的文件(目录)已使用的磁盘空间

  • -h 显示单位
  • -s 显示总的大小
[vagrant@s1 src]$ cd /home/
[vagrant@s1 home]$ ls
vagrant
[vagrant@s1 home]$ du -sh
56K     .
[vagrant@s1 home]$

1.2. free命令

显示当前内存和交换空间的使用情况

[vagrant@s1 home]$ free
              total        used        free      shared  buff/cache   available
Mem:        8011464      124412     7666184        8508      220868     7689756
Swap:       1023996           0     1023996
[vagrant@s1 home]$

1.3. netstat命令

显示网络状态信息,查看端口占用情况

  • -a 显示所有连接和监听端口
  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字。
  • -p 显示建立相关链接的程序名
[vagrant@s1 home]$sudo yum install net-tools -y #sudo:得的管理员权限执行命令
[vagrant@s1 home]$ netstat -tunpl
(No info could be read for "-p": geteuid()=1000 but you should be root.)
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:22              0.0.0.0:*               LISTEN      -
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      -
tcp6       0      0 :::22                   :::*                    LISTEN      -
udp        0      0 0.0.0.0:68              0.0.0.0:*                           -
udp        0      0 0.0.0.0:9499            0.0.0.0:*                           -
udp6       0      0 :::1150                 :::*                                -
[vagrant@s1 home]$

1.4. ifconfig

网卡网络配置详解

1.5. ping

测试网络的连通性

[vagrant@s1 home]$ ping www.baidu.com
PING www.a.shifen.com (220.181.38.149) 56(84) bytes of data.
64 bytes from 220.181.38.149: icmp_seq=1 ttl=49 time=8.91 ms
64 bytes from 220.181.38.149: icmp_seq=2 ttl=49 time=8.62 ms

1.6. top

显示当前系统中耗费资源最多的进程 (实时)
在这里插入图片描述

1.7. ps

显示瞬间的进程状态(快照)

  • -e /-A 显示所有进程,环境变量
  • -f 全格式
  • -a 显示所有用户的所有进程(包括其它用户)
  • -u 按用户名和启动时间的顺序来显示进程
  • -x 显示无控制终端的进程

在这里插入图片描述

1.8.kill

根据进程ID(pid)杀死进程

kill -9 [进程ID]

2. 打包和压缩文件

2.1. gzip

把文件压缩成gz格式

[vagrant@s1 src]$ ls
app  test.txt
[vagrant@s1 src]$ gzip test.txt #压缩test.txt文件
[vagrant@s1 src]$ ls
app  test.txt.gz
[vagrant@s1 src]$ gzip -d test.txt.gz ##解压test.txt.gz文件
[vagrant@s1 src]$ ls
app  test.txt
[vagrant@s1 src]$

2.2. bzip2

以bzip2格式压缩和解压

[vagrant@s1 src]$ ls
app  test.txt
[vagrant@s1 src]$ bzip2 test.txt #压缩test.txt文件
[vagrant@s1 src]$ ls
app  test.txt.bz2
[vagrant@s1 src]$ bzip2 -d test.txt.bz2 ##解压test.txt.bz2文件
[vagrant@s1 src]$ ls
app  test.txt
[vagrant@s1 src]$

2.3. tar(推荐)

gzip与bzip2命令只能压缩文件,对于目录的压缩需要依靠tar命令来实现

  • 打包目录成tar文件
  • 整合gzip和bzip2压缩
  • -c 建立一个压缩文件的参数指令(create)
  • -x 解开一个压缩文件的参数指令(extract)
  • -z 是否需要用 gzip 压缩
  • -j 是否需要用 bzip2 压缩
  • -v 压缩的过程中显示文件(verbose)
  • -f 使用档名,在 f 之后要立即接档名(file)
2.3.1. 打包与解包
[vagrant@s1 src]$ ls
app  test.txt
[vagrant@s1 src]$ cd ..
[vagrant@s1 java-project]$ ls
src
[vagrant@s1 java-project]$ tar -cvf src.tar ./src/ #将src目录打包为src.tar文件
./src/
./src/app
./src/test.txt
[vagrant@s1 java-project]$ls
src  src.tar
[vagrant@s1 java-project]$ rm -rf src
[vagrant@s1 java-project]$ ls
src.tar
[vagrant@s1 java-project]$ tar -xvf src.tar ./src/ #解包
./src/
./src/app
./src/test.txt
[vagrant@s1 java-project]$ ls
src  src.tar
[vagrant@s1 java-project]$
2.3.2. 以gzip方式压缩或解压
[vagrant@s1 java-project]$ ls
src
[vagrant@s1 java-project]$ tar -czvf src.gz ./src/ #压缩src目录
./src/
./src/test.txt
./src/app
[vagrant@s1 java-project]$ rm -rf src
[vagrant@s1 java-project]$ ls
src.gz
[vagrant@s1 java-project]$ tar -xzvf src.gz #解压src.gz压缩包
./src/
./src/test.txt
./src/app
[vagrant@s1 java-project]$ ls
src  src.gz
[vagrant@s1 java-project]$
2.3.3. 以bzip2方式压缩或解压
[vagrant@s1 java-project]$ ls
src
[vagrant@s1 java-project]$ tar -cjvf src.bz2 ./src/ #压缩src目录
./src/
./src/test.txt
./src/app
[vagrant@s1 java-project]$ rm -rf src
[vagrant@s1 java-project]$ ls
src.bz2
[vagrant@s1 java-project]$ tar -xjvf src.bz2 #解压src.bz2压缩包
./src/
./src/test.txt
./src/app
[vagrant@s1 java-project]$ ls
src  src.bz2
[vagrant@s1 java-project]$

3. 用户管理的配置文件

  • 保存用户信息的文件:/etc/passwd
  • 保存密码的文件:/etc/shadow
  • 保存用户组的文件:/etc/group
  • 保存用户组密码的文件:/etc/gshadow
  • 用户配置文件:/etc/default/useradd

3.1. /etc/passwd

用户信息配置文件

用户名用户登陆系统的用户名
密码密码位
UID用户标示号
GID默认组标示号
描述信息存放用户的描述信息
宿主目录用户登陆系统的默认目录,默认是在/home/下
命令解析器用户使用的Shell,默认是bash

在这里插入图片描述
用户的分类

  • 超级用户:(root,UID=0)
  • 普通用户:(UID在1000以上)
  • 伪用户:(UID在1到999)
    • 系统和服务相关的:bin、daemon、shutdown等
    • 进程相关的:mail、news、games等
    • 伪用户不能登陆系统,而且没有宿主目录

3.2. /etc/shadow

密码配置文件

用户名登陆系统的用户名
密码加密密码
最后一次修改时间用户最后一次修改密码距现在的天数,从1970-1-1起
最小时间间隔两次修改密码之间的最小天数
最大时间间隔密码有效天数
警告时间从系统警告到密码失效的天数
账号闲置时间账号闲置时间
失效时间密码失效的天数
标志标志

3.3. /etc/group

用户的组

  • 每个用户至少属于一个用户组
  • 如果创建用户,没有指定组,此用户指定跟用户名同名组
  • 每个用户组可以包含多个用户
  • 同一个用户组的用户享有该组共有的权限
组名用户所在的组
组密码密码位,一般不使用
GID主标示号
组内用户列表属于改组的用户列表

3.4. 用户和组管理命令

3.4.1. 用户管理命令
  • useradd:添加用户
    • -u 指定组ID(uid)
    • -g 指定所属的组名(gid)
    • -G 指定多个组,用逗号“,”分开(Groups)
    • -c 用户描述(comment)
    • -e 失效时间(expire date)
  • usermod:修改用户
    • -l 修改用户名 (login)usermod -l a b(b改为a)
    • -g 添加组 usermod -g sys tom-G添加多个组 usermod
    • -G sys,root tom–L 锁定用户账号密码(Lock)
    • –U 解锁用户账号(Unlock)
  • userdel:删除用户
    • -r 删除账号时同时删除目录(remove)
3.4.2. 组管理的命令
  • 添加组:groupadd
    • -g 指定gid
  • 修改组:groupmod
    • -n 更改组名(new group)
  • 删除组:groupdel
  • groups 显示用户所属组
3.4.3. 实践案例

添加用户,设置属于组,并添加注释信息

#添加一个jack用户,设置它属于users组,并添加注释信息
useradd jack
usermod -g users jack
usermod -c "hr jack" jack

#添加一个jackson用户,设置它属于users组,并添加注释信息
#等于上面三个命令
useradd -g users -c "hr jackson" jackson

设置密码

#用户jack设置密码为vagrant
passwd jack

#用户jackson设置密码为vagrant
passwd jackson

将用户添加到组中

#将jack添加到sys和root组中
usermod -G sys,root jack

#将jackson添加到sys和root组中
usermod -G sys,root jackson

把用户从组中删除

#把jackson从sys组中删除
gpasswd -d jackson sys

显示用户的组

groups jack
groups jackson
groups root
groups vagrant

添加一个组

#添加一个hr组
groupadd hr

修改组名

#修改hr组为sale组
groupmod -n sale hr

用户添加到组

#jack添加到sale组
usermod -G sale jack
groups jack

4.权限管理

4.1. 权限表示符号

在这里插入图片描述
执行 ls -l
在这里插入图片描述

  • 第1位:文件类型(d 目录,- 普通文件,l 链接文件)
  • 第2-4位:所属用户权限,用u(user)
  • 表示第5-7位:所属组权限,用g(group)表示
  • 第8-10位:其他用户权限,用o(other)表示第
  • 2-10位:表示所有的权限,用a(all)表示
    三种基本权限
  • r 读权限(read)4
  • w 写权限(write)2
  • x 执行权限 (execute)1

4.2. chmod命令

chmod修改文件权限命令(change mode)

  • 参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)
  • 两种方式
    • 例如:chmod u+x a.txt,给a.txt增加当前用户的执行权限
    • 用数字来表示权限(r=4,w=2,x=1,-=0) 例如:chmod 750 b.txt :表示b.txt的权限当前用户是rwx,当前用户的组rx,其他用户没有权限

当前vagrant用户目录不允许其他用户查看

[vagrant@s1 home]$ ll
total 4
drwx------  2 jack    users     79 Jul 10 09:38 jack
drwx------  2 jackson users     59 Jul  7 19:51 jackson
drwx------. 5 vagrant vagrant 4096 Jul  7 15:51 vagrant
[vagrant@s1 home]$

当前jack用户无法查看vagrant用户目录的内容

[jack@s1 home]$ ll
total 4
drwx------  2 jack    users     79 Jul 10 09:38 jack
drwx------  2 jackson users     59 Jul  7 19:51 jackson
drwx------. 5 vagrant vagrant 4096 Jul  7 15:51 vagrant
[jack@s1 home]$ cd vagrant/
bash: cd: vagrant/: Permission denied
[jack@s1 home]$

修改vagrant用户目录的权限,使得其他用户可以查看、编辑vagrant目录
修改权限时应在当前用户或root用户下进行

[vagrant@s1 home]$ chmod o+rwx vagrant
[vagrant@s1 home]$ ll
total 4
drwx------  2 jack    users     79 Jul 10 09:38 jack
drwx------  2 jackson users     59 Jul  7 19:51 jackson
drwx---rwx. 5 vagrant vagrant 4096 Jul  7 15:51 vagrant
[vagrant@s1 home]$

修改test.txt的权限,让所有人有读写执行

[vagrant@s1 home]$ cd vagrant/java-project/src
[vagrant@s1 src]$ ll
total 4
lrwxrwxrwx 1 vagrant vagrant 39 Jul  6 20:36 app -> /home/vagrant/java-project/src/test.txt
-rw-rw-r-- 1 vagrant vagrant 63 Jul  7 15:51 test.txt
[vagrant@s1 src]$ chmod 777 ./test.txt
[vagrant@s1 src]$ ll
total 4
lrwxrwxrwx 1 vagrant vagrant 39 Jul  6 20:36 app -> /home/vagrant/java-project/src/test.txt
-rwxrwxrwx 1 vagrant vagrant 63 Jul  7 15:51 test.txt
[vagrant@s1 src]$
#设置test.txt文件
当前用户(u)
 - rwx
当前组(g)
 - rx
 其他用户(o)
 - 没有权限
 所有用户(a)
  xxx

#方式1
chomod u+rwx,g-w,o-rwx ~/test.txt
#方式2
chmod 750 test.txt

4.3. chown命令

改变文件所属用户,文件所属的组

  • -R:递归
#使用jack查看test.txt文件,因为jack属于users,所以可以查看
[root@s1 src]# chown root:users test.txt
[root@s1 src]# su jack
[jack@s1 src]$ cat test.txt
dvqnnq
fbwijb
fvwjn
fbwnoj
bfwmkj
bfwo
bskmpqij
b n jweo
qufno
[jack@s1 src]$
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值