2.1.3.8 文件下载
下载一个文件 wget
格式:wget url链接
2.2 用户管理
我们知道linux是一个多用户的操作系统,那么linux中存在很多用户,不同的用户有不同的权限,最常见的就是root用户和普通用户,那么他们有什么区别呢?
2.2.1 用户管理简介
我们知道root是当前系统中权限最大的一个用户,可以理解为一个家庭的大家长、或者理解为户口本上的户主,而普通用户就是家庭的普通成员。
所以说他们两者的权限是不一样的。
2.2.1 用户命令讲解
切换root用户 su -
判断一个用户是否存在 id
命令详解:
id 判断一个用户是否存在
格式: id 用户名
创建一个新的用户 useradd
命令详解:
useradd 添加一个用户
格式: useradd 新用户名
给ceshi用户设置密码 passwd
命令详解:
passwd 给一个用户设置密码或更改密码
格式: passwd 新用户名
切换到测试用户
注意:新开一个窗口
判断当前有哪些用户登录当前主机 who
命令详解:
who 判断登录当前主机的所有用户
格式: who
判断当前用户是谁 whoami
命令详解:
who ami 判断登录当前主机的用户
格式: whoami
退出当前用户 exit
[admin@localhost ~]$ whoami
admin
[admin@localhost ~]$ su - ceshi
Password:
[ceshi@localhost ~]$ whoami
ceshi
[ceshi@localhost ~]$ exit
logout
[admin@localhost ~]$ whoami
admin
命令详解:
exit 退出当前用户
格式: exit
注意:
exit退出效果只有在su 切换用户时候效果明显,如果当前终端没有使用过su,那么exit后,直接退出终端
2.3 权限管理
我们知道linux中所有的东西都是文件,而文件有各种各样的权限,我们在使用ll查看文件属性的时候,就可以看到最前面的一大坨就是文件的权限
2.3.1 权限管理简介
权限管理主要包括两部分:
文件的读写执行权限
r -- 读 w -- 写 x -- 执行
文件的归属权限
当前用户 用户属组
文件读写执行权限
读权限 代表文件可以读 r
写权限 代表文件可以写 w
执行权限 代表文件可以执行 x
文件归属权限
属主 这个文件是归谁所有,这是唯一的
属组 这个文件属于哪个组,这个组中所有成员都有权限操作这个文件,这是不唯一的
注意:
1 是属主,2-8 和1 是一个组
除了1-8之外的都是其他用户
注意:
权限的改变,最好使用root用户来更改
2.3.2 权限命令讲解
更改用户归属权限 chown
这个chown可以理解为:过继、改变归属等意思。
在/tmp 目录下有一个yum.log文件
[admin@localhost ~]$ ll /tmp/yum.log
-rw-------. 1 root root 0 Nov 3 09:33 /tmp/yum.log
可以看到:
当前这个用户的属主和属组都是root
使用admin用户来读取一下这个文件
[admin@localhost ~]$ cat /tmp/yum.log
cat: /tmp/yum.log: Permission denied
可以看到:
报错了,说权限拒绝,因为我不是root权限
使用root用户来更改这个文件的权限
[root@localhost ~]# chown admin.admin /tmp/yum.log
[root@localhost ~]# ll /tmp/yum.log
-rw-------. 1 admin admin 0 Nov 3 09:33 /tmp/yum.log
可以看到:
当前这个文件的权限已经更改为admin权限了
再次使用admin用户来看一下这个文件
[admin@localhost ~]$ cat /tmp/yum.log
[admin@localhost ~]$
可以看到:
这次就可以读取这个文件了,只不过这个文件内容是空
文件的读写权限
新创建一个目录,然后在这个目录中创建一个文件和目录,分别查看这两个文件是什么权限
可以看到:
默认创建的文件的权限是664
默认创建的目录的权限是755
我们知道文件的权限分三种,读写执行
读和写我们知道是什么感觉,但是执行是什么意思呢?
我们知道pwd是查看我当前所在的目录的命令,那么我们在这个file.txt文件中加上一句pwd,然后查看一下
[admin@localhost mulu]$ cat file.txt
pwd
执行文件的方式就是 ./文件名
[admin@localhost mulu]$ ./file.txt
bash: ./file.txt: Permission denied
查看文件的权限
[admin@localhost mulu]$ ll file.txt
-rw-rw-r--. 1 admin admin 4 Nov 3 14:38 file.txt
更改file.txt文件的权限为755,让他变成可执行
[admin@localhost mulu]$ chmod +x file.txt
再次执行该文件
[admin@localhost mulu]$ ./file.txt
/home/admin/mulu
查看文件的属性
可以看到:
可执行文件的颜色是绿色的了
2.4 其他常用命令
2.4.1 查找命令演示
查找一个文件 find
[root@localhost ~]# find / -name "file.txt"
/home/admin/mulu/file.txt
命令详解:
find 查找执行目录下是否有一个文件
格式: find 指定目录 -name "要找的文件名"
查找一个命令是否存在 which
[root@localhost ~]# which cat
/bin/cat
命令详解:
which 判断一个命令是否存在
格式: which 命令文件名
查看一个命令在哪里 whereis
过滤文件中的关键字所在行的内容 grep
[admin@localhost ~]$ cat file.doc
first file
...
first file 7
first file 8
first file 9
first file 10
first file 11
[admin@localhost ~]$ grep 7 file.doc
first file 7
命令详解:
grep 过滤文件中的关键字所在行内容
格式: grep 关键字 文件名
2.4.2 常见符号
2.4.2.1 常见普通符号
显示内容 echo
[admin@localhost ~]$ echo nihao
nihao
命令详解:
echo 将后面的内容输出到当前屏幕
格式: echo 内容
将输出内容重定向到一个文件 >
将输出内容重定向到一个文件 >>
> 和 >> 有什么区别?
[admin@localhost ~]$ cat chong.txt
chongdingxiang
[admin@localhost ~]$ echo nihao > chong.txt
[admin@localhost ~]$ cat chong.txt
nihao
[admin@localhost ~]$ echo nihao2 >> chong.txt
[admin@localhost ~]$ cat chong.txt
nihao
nihao2
可以看到:
> 作用是以覆盖的方式,将内容添加到文件中
>> 作用是以追加的方式,将内容添加到文件的最后一行的下一行
| 管道符
将左侧内容,传递给右侧内容使用
格式:
命令1 | 命令2
grep 过滤想要的内容
格式: grep 关键字
2.4.2.2 常见正则符号
代表任意长度的任意字符 *
2.4.3 常见查看信息命令
2.4.3.1 查看命令帮助信息
查看命令帮助信息 man
格式: man 命令
2.4.3.2 系统基本信息
当前内核的信息 uname -a
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.32-642.el6.x86_64 #1 SMP Tue May 10 17:27:01 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# uname -r
2.6.32-642.el6.x86_64
[root@localhost ~]# uname -n
localhost.localdomain
注意:
-a 表示查看所有内核信息
-n 表示查看当前主机名
-r 表示查看当前内核的版本号
-m 表示查看当前内核的架构版本号
查看当前的磁盘容量 df
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda3 36866632 2669872 32317364 8% /
tmpfs 1954256 76 1954180 1% /dev/shm
/dev/sda1 289293 39556 234377 15% /boot
[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 36G 2.6G 31G 8% /
tmpfs 1.9G 76K 1.9G 1% /dev/shm
/dev/sda1 283M 39M 229M 15% /boot
注释:
-m 表示以人类正常识别的方式来查看当前系统的磁盘效果
查看当前内存的容量 free
[root@localhost ~]# free
total used free shared buffers cached
Mem: 3908512 633316 3275196 1796 25160 326364
-/+ buffers/cache: 281792 3626720
Swap: 4046844 0 4046844
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 3816 618 3198 1 24 318
-/+ buffers/cache: 275 3541
Swap: 3951 0 3951
注释:
-m 表示以人类正常识别的方式来查看当前系统的磁盘效果
查看指定的目录容量大小 du
[root@localhost ~]# du Desktop
4 Desktop
[root@localhost ~]# du -h Desktop/
4.0K Desktop/
注释:
-m 表示以人类正常识别的方式来查看当前系统的磁盘效果
2.4.3.3 查看服务相关信息
查看当前系统开启的端口号 netstat
[root@localhost ~]# netstat -tnulp
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 2138/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1880/cupsd
查看服务进程信息 ps
[root@localhost ~]# ps aux | grep ssh
root 2138 0.0 0.0 66240 1196 ? Ss 15:15 0:00 /usr/sbin/sshd
root 4435 0.0 0.1 102088 4128 ? Ss 15:22 0:00 sshd: root@pts/0
root 4476 0.0 0.0 103316 888 pts/0 S+ 15:30 0:00 grep ssh
注意:
因为系统中服务太多了,所以为了方便查看我们需要的服务,我们经常使用管道符和grep过滤关键字的方法查看
这条信息中,我们只需要关注 第二列:“进程号”
杀死一个进程 kill
我们想杀死一个进程,那么直接使用 kill 进程号 的格式搞定它
2.4.4 开关机命令
reboot 重新启动操作系统
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:25 系统在今天的20:25 会关机
shutdown -h +10 系统再过十分钟后自动关机