【Linux】linux 快速入门(精讲)

文章目录

    • 一、关机,重启命令
    • 二、linux的目录结构
    • 三、基本命令
      • 1、目录管理
      • 2、基本属性
      • 3、文件内容查看
      • 4、vim 编辑器
    • 四、硬链接与软连接
      • 1、硬链接
      • 2、软链接
      • 3、测试
    • 五、账号管理
      • 1、添加账户
      • 2、账户密码设置
      • 3、删除账户
      • 4、修改账户信息
      • 5、切换用户
      • 6、锁定账号
      • 7、修改主机名
    • 六、用户组管理
      • 1、创建用户组
      • 2、删除用户组
      • 3、修改用户组信息
      • 4、为用户组组添加、删除用户
    • 七、磁盘管理
      • 1、df 命令
      • 2、du 命令
    • 八、进程管理
      • 1、ps 命令
      • 2、psmisc 命令
      • 3、kill 命令

一、关机,重启命令

命令 说明
sync 将数据同步保存到硬盘中
shutdown 关机
shutdown -h now 现在关机
shutdown -h 10 10分钟后关机
shutdown -h 18:21 今天18:21关机
half 关机
shutdown -r now 重启
shutdown -r 10 10分钟后重启
reboot 重启

二、linux的目录结构

在这里插入图片描述
/bin:bin 是Binay的缩写,这个命令存放一些经常使用的命令。

/boot:存放启动linux时的一些核心文件(如:连接问价、镜像)。

/dev:dev是Device(设备)的缩写,存放linux的外部设备。

/etc:存放系统管理所需要的配置文件(如:java、Tomcat)和子目录。

/home:用户的主目录,每个用户都有自己的主目录(目录名为用户名)。

/lib:存放系统最基础的连接动态共享库。

/lib64:

/media:linux会自动识别一些设备(如:U盘、光驱),linux会将设备的设备挂载到这个目录下,我们可以通过这个目录查看设备中的内容。

/mnt:存放用户临时挂载的别的文件系统的目录(如:光驱,U盘)。

/opt:存放安装的一些软件的目录(如:数据库、jdk)。

/proc:是一个虚拟目录,是系统内存的映射,我们可以访问这个目录来获取系统信息。

/root:该目录为系统管理元目录。

/run:临时文件系统,存放linux运行中的信息。重启后该目录下的文件就会被删除。

/sbin:这里存放的是系统管理员存放的系统管理程序。(s是super的意思)。

/srv:该目录存放一些服务启动以后需要提取的数据。

/sys:该目录中安装了2.6内核中新出现的一个文件系统sysfs。

/tmp:用来存放一些临时文件。

/usr:这是一个很重要的目录,用户的很多的应用程序和文件都存放在这。(类似于Windows的program files目录)

/usr/bin:存放系统用户使用的应用程序。

/usr/sbin:存放系统超级用户使用的应用程序。

/usr/src:内核源代码默认存放的目录。

/var:这个目录下存放一些经常需要修改的文件(如:日志)。

三、基本命令

1、目录管理

绝对路径:就是从根目录目标目录的全路径。
【Linux】linux 快速入门(精讲)_第1张图片

相对路径:就是从当前目录目标目录的路径。
【Linux】linux 快速入门(精讲)_第2张图片


# cd /path :切换目录

# cd ../ :返回上一级目录

# pwd:打印当前目录的全路径


# mkdir 目录名 :创建一个目录

# mkdir -p 目录1/目录2/目录3 :递归创建目录

# rmdir 目录名 :删除一个空目录

# rmdir -p 目录1/目录2/目录3 :递归删除目录


# ls :列出当前目录下的内容

# ls -a :查看当前目录所有文件

# ls -l :列出当前目录所有非隐藏文件以及详情

# ls -al :列出当前目录所有文件以及详情


# cp /oldPth / newPath :复制目录或文件


# rm /path:删除目录和文件

# rm -f /path:强制删除(不会询问)目录和文件

# rm -r /path:递归删除目录和文件

# rm -rf /path:强制递归删除目录和文件

rm -rf /不要执行这个命令,会删除根目录下的所有目录和文件


# mv /oldPath /oldPath :移动目录和文件(oldPath = oldPath 时,为重命名)

# mv -f /oldPath /newPath :强制移动目录和文件

# mv -u /oldPath /newPath :只替换更新过的文件


2、基本属性

我们通过 ls -l可以查看目录中目录和文件的详细信息。我们可以发现在打印出的东西的第一列有d、l...的字母,其含义是什么呢。
【Linux】linux 快速入门(精讲)_第3张图片

d:代表是目录

l:代表为连接文档

-:代表是文件

b:代表装置文件里文件里面的可存储的接口设备(如:磁盘)

c:代表装置文件里文件里面的可串行端口设备(如:鼠标、键盘)


接下来的字符三个一组(读 写 执行)。第一组表示root用户的权限;第二组表示组权限;第三组表示其他用户权限
【Linux】linux 快速入门(精讲)_第4张图片
r:代表权限

w:代表权限

x:代表执行权限

rwx:表示具有读写执行权限

r_x:表示只具有执行权限

r_ _:表示只具有权限


接下来,分别表示文件的个数、文件/目录 所属主、文件/目录 所属组
【Linux】linux 快速入门(精讲)_第5张图片

修改文件属性组

# chgrp 属组名 文件名:修改文件所属组

# chgrp -R 属组名 文件名:递归修改文件所属组

修饰文件属主

# chown [-R] 属主名 文件名 :修饰文件属主

# chown [-R] 属主名:属组名 文件名:修饰文件属主和属组

修改文件的权限
修改文件的权限的方式有两种:一种是使用符号(r w x),另一种是使用数字(4代表r,2代表w,1代表x)。

# chmod rwxrwxrwx 文件名或目录:文件或目录的属主、属组、其他用户都具有读写执行的权限
# chmod 777 文件名或目录:同上

# chmod rwxr-xr-x 文件名或目录:文件或目录的属主具有读写执行权限、属组具有读和执行的权限、其他用户都具有读和执行的权限
# chmod 755 文件名或目录:同上


3、文件内容查看

# ifconfig :查看网络配置

如果你的 linux 中没有 ifconfig 命令,你可以执行此命令:yum install net-tools
【Linux】linux 快速入门(精讲)_第6张图片
# cat 文件名 :打印文件内容
在这里插入图片描述
# tac 文件名 :倒叙打印文件内容
在这里插入图片描述
# nl 文件名 :显示的时候打印行号
在这里插入图片描述

# more 文件名 :一页一页的显示文件内容(空格向下翻页,回车向下翻行)。q 键退出。

# less 文件名 : 一页一页的显示文件内容(空格向下翻页,↓键向下翻行,↑键向上翻行)。输入 / 从当前位置向下搜索(n表示向下翻行显示搜索内容,n表示向上翻行显示搜索内容)输入 ? 从当前位置向上搜索(n表示向下翻行显示搜索内容,n表示向上翻行显示搜索内容)。q 键退出。

# head -n 数字 文件名 :只看文件的前几行

# tail -n 数字 文件名 :只看文件的后几行


4、vim 编辑器

如果你的 linux 上没有 vim 编辑器,你可以执行此命令:yum -y install vim*

vim是从vi发展过来的一个文本编辑器。其作用有:代码补全、编译、错误跳转… 。vim通过一些插件可以实现IED的功能
【Linux】linux 快速入门(精讲)_第7张图片

① 查看内容

# vim 文件名:查看文件内容
:q:退出(shift+:打印出:,输入q 退出)
在这里插入图片描述

② 编辑内容

# vim 文件名:进入文件
点击 i键:进入编辑模式
在这里插入图片描述

: set nu :设置行号
在这里插入图片描述
: set nonu :取消行号
在这里插入图片描述

在编辑模式下,可以使用的按键:
Enter:换行

Backspace:删除光标前一个字符

Del/Delete:删除光标后一个字符

方向键:移动光标

Home/End:移动光标当行首/行尾

Page Up:向上翻页

Page Dn:向下翻页

Esc:退出当前模式

③ 保存内容和退出
当我对编辑过的文本,我们在退出前都需要进行保存
:w:保存(先按 Esc 然后 shift+:打印出:,输入w 退出)
:q:退出(先按 Esc 然后 shift+:打印出:,输入q 退出)
:wq:保存并退出
在这里插入图片描述
:q!:不保存并退出
:wq!:强制保存并退出

四、硬链接与软连接

1、硬链接

一个文件的硬链接更像是一个文件可以同步内容的副本,当我们将原文件删除后,硬链接依然可以访问。
【Linux】linux 快速入门(精讲)_第8张图片
# ln 原文件 硬链接名:创建一个硬链接

2、软链接

一个文件的软连接就像是Windows中的快捷方式,当我们将原文件删除后,软链接不可以访问。
【Linux】linux 快速入门(精讲)_第9张图片
# ln -s 原文件 软链接名:创建一个软连接

3、测试

【Linux】linux 快速入门(精讲)_第10张图片


五、账号管理

1、添加账户

格式:useradd -选项 用户名
会自动在 /home 目录下创建用户的主目录:useradd -m 用户名

[root@localhost home]# ls
[root@localhost home]# useradd -m tiger  					# 添加用户
[root@localhost home]# ls
tiger  														# home下自动生成的目录
[root@localhost home]#

/etc/passwd 目录中记录了一些用户的相关信息

[root@localhost home]# tail -n 1 /etc/passwd  				# 打印最后一行
tiger:x:1000:1000::/home/tiger:/bin/bash  					# /home/tiger 表示 tiger 的家目录
[root@localhost home]#

创建用户是给用户分配用户组:useradd -m 用户名 -G 用户组

2、账户密码设置

root修改其他用户密码

格式:passwd 用户名

[root@localhost home]# passwd tiger			# 修改用户(tiger)密码
更改用户 tiger 的密码 。
新的 密码:									# 输入新密码
无效的密码: 密码少于 8 个字符					# 没关系,不影响密码的正常修改,只不过是安全等级低
重新输入新的 密码:							# 重新输入密码
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]# 

修改当前登录的账户的密码

格式:passwd

[root@localhost home]# passwd
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost home]#

清空用户密码

当一个用户的密码被清空后,那么该用户就无法登录 linux 系统了。

格式:passwd -d 用户名

3、删除账户

格式:userdel -选项 用户名
userdel -r 用户名:删除用户的同时会连带着用户的相关信息一起删除(如:home下的目录)

[root@localhost home]# userdel -r tiger
[root@localhost home]# ls
[root@localhost home]#
[root@localhost home]# tail -n 1 /etc/passwd
chrony:x:998:996::/var/lib/chrony:/sbin/nologin  			# 我们可以发现最后已经没有tiger的信息了
[root@localhost home]#

4、修改账户信息

修改用户的家目录:usermod -d 新的目录 用户名

[root@localhost home]# tail -n 1 /etc/passwd
tiger:x:1000:1000::/home/tiger:/bin/bash  					# tiger 的家目录为 /home/tiger
[root@localhost home]# usermod -d /home/tiger_home tiger    # 修改 tiger 的家目录为 /home/tiger_home
[root@localhost home]# tail -n 1 /etc/passwd
tiger:x:1000:1000::/home/tiger_home:/bin/bash               # tiger 的家目录为 /home/tiger_home
[root@localhost home]#

5、切换用户

格式:su 用户名

[root@localhost home]# su tiger		# 切换成 tiger (root 切换其他用户是不需要密码)
[tiger@localhost home]$             # 切换成功
[tiger@localhost home]$ su root     # 切换成 root
密码:								# 注意:在 linux 中输入密码时是不会明文显示的
[root@localhost home]#				# 切换成功

切换成原来用户 :exit

[root@localhost home]# su tiger
[tiger@localhost home]$ exit  		# 从 tiger 切换成原来的 root
exit
[root@localhost home]#

6、锁定账号

当某一个账号被锁定时,那么该账号就无法登录linux系统了,只有在用户被解锁后才可以正常的登录 linux 系统。

锁定格式 : passwd -l 用户名 (l: Lock)

解锁格式 : passwd -u 用户名 (u:Unlock)


7、修改主机名

格式:hostname 新主机名

注意:这种方式是临时修改主机名,linux 重启后就失效了,但是够用了。

[root@localhost home]# hostname StudiuosTiger   # 修改主机名为 StudiuosTiger   
[root@localhost home]#
[root@localhost home]# bash						# 使修改后的主机名生效(显示)
[root@StudiuosTiger home]# 

六、用户组管理

每一个用户都有一个用户组,系统可以对一个用户组中的用户进行集中管理。不同的 linux 系统对用户组的规定有不同的规定,如:linux 下的用户属于与它同名的用户组,这个用户在创建的时候其用户组同时被创建。

用户组的管理,涉及用户组的添加、删除和修改。组的添加、删除和修改实际上是对 /etc/group 文件的更新。

1、创建用户组

创建用户组:# groupadd 用户组名

[root@StudiuosTiger home]# groupadd adminUser      # 创建一个用户组
[root@StudiuosTiger home]# tail -n 1 /etc/group		
adminUser:x:1001:								   # /etc/group 已经存在adminUser 相关信息(1001 表示用户组ID)
[root@StudiuosTiger home]#

创建用户组并指定组ID:# groupadd -g ID 用户组名

[root@StudiuosTiger home]# groupadd -g 1024 adminUser02
[root@StudiuosTiger home]# tail -n 1 /etc/group
adminUser02:x:1024:
[root@StudiuosTiger home]#

2、删除用户组

删除用户组:# groupdel 用户组名

[root@StudiuosTiger home]# groupdel adminUser02   	# 删除用户组 adminUser02
[root@StudiuosTiger home]# tail -n 1 /etc/group
adminUser:x:1001:									# 我们可以发现/etc/group中已经没有adminUser02相关的信息了
[root@StudiuosTiger home]#

3、修改用户组信息

修改组名:groupmod -n 新的组名 被修改的组名
修改组ID:groupmod -g 新的组ID 被修改的组名

修改组名和ID:groupmod -g 新的组ID -n 新的组名 被修改的组名

[root@StudiuosTiger home]# tail -n 1 /etc/group
adminUser:x:1001:														# 原组名和组ID
[root@StudiuosTiger home]# groupmod -g 1011 -n new_adminUser adminUser  # 修改组名和组ID
[root@StudiuosTiger home]# tail -n 1 /etc/group
new_adminUser:x:1011:													# 我们可以发现组名和组ID已经被修改
[root@StudiuosTiger home]#

4、为用户组组添加、删除用户

注意:只有 root 和 组管理员 能够改变组的成员

为用户组添加用户:gpasswd –a 用户组名 用户名

为用户组添加用户:gpasswd –d 用户组名 用户名


七、磁盘管理

Linux 磁盘管理常用两个命令为 df 和 du 命令。

df(英文全称:disk full):列出文件系统的整体磁盘使用量
du(英文全称:disk used):检查磁盘空间使用量

1、df 命令

df命令参数功能:检查文件系统的磁盘空间占用情况(就如同 Windows 中的 CDE 盘符一样)。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:df [-ahikHTm] [目录或文件名]

选项与参数:
-a :列出所有的文件系统。
-k :以 KBytes 单位显示容量情况。
-m :以 MBytes 单位显示容量情况。
-h :以 GBytes, MBytes, KBytes 等单位显示容量情况。
-H :以 M=1000K 取代 M=1024K 的进位方式。
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出。
-i :不用硬盘容量,而以 inode 的数量来显示。

[root@localhost ~]# df -h                           #列出盘符的使用情况
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 475M     0  475M    0% /dev
tmpfs                    487M     0  487M    0% /dev/shm
tmpfs                    487M  7.7M  479M    2% /run
tmpfs                    487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   17G  1.5G   16G    9% /
/dev/sda1               1014M  137M  878M   14% /boot
tmpfs                     98M     0   98M    0% /run/user/0
[root@localhost ~]# 

2、du 命令

Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

语法:du [-ahskm] 文件或目录名称

选项与参数:
-a :列出所有的文件与目录容量。
-h :以人们较易读的容量格式 (G/M) 显示。
-s :列出总量而已,而不列出每个各别的目录占用容量。
-S :不包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 单位显示容量情况。
-m :以 MBytes 单位显示容量情况。

[root@localhost home]# du -ah 		# 列出 /home 下的磁盘使用情况(全部)
4.0K    ./tiger/.bash_logout
4.0K    ./tiger/.bash_profile
4.0K    ./tiger/.bashrc
4.0K    ./tiger/.bash_history
16K     ./tiger
0       ./tiger_home
16K     .
[root@localhost home]#

八、进程管理

在linux系统中,每一个程序都有一个自己的进程,每一个进程都存在一个进程ID。每一个进程会有一个父进程。

进程的模式有两种,一种是前台运行的进程,另一种是后台运行的进程。

1、ps 命令

查看当前系统中正在执行的进程信息

语法:du [-auxef]

选项与参数:
-a:显示当前终端下的所有进程信息,包含其他用户的进程信息。和 x 选项结合使用可以显示系统中所有进程的信息
-u:使用以用户为主的格式输出进程信息
-x:显示当前用户在所有终端下的进程信息

-e:显示系统内所有进程的信息。与 -A 选项功能相同
-f:使用完整 (full) 的格式显示进程信息,如果只有 ps -e 则输出进程信息的格式和只使用 ps 一样

[root@localhost home]#  ps -aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root          1  0.2  0.6 193700  6768 ?        Ss   10:51   0:04 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root          2  0.0  0.0      0     0 ?        S    10:51   0:00 [kthreadd]
root          4  0.0  0.0      0     0 ?        S<   10:51   0:00 [kworker/0:0H]
root          6  0.0  0.0      0     0 ?        S    10:51   0:00 [ksoftirqd/0]
root          7  0.0  0.0      0     0 ?        S    10:51   0:00 [migration/0]
root          8  0.0  0.0      0     0 ?        S    10:51   0:00 [rcu_bh]
......
[root@localhost home]#

我们一般并不会这样使用,因为这一的结果实在是太混杂了。我们会结合 | 和 grep 进行过滤操作。
|:管道符。命令A|命令B,即命令1的正确输出作为命令B的操作对象。
【Linux】linux 快速入门(精讲)_第11张图片
grep: 命令用于查找文件里符合条件的字符串。

例如:ps -aux | grep usr : 搜索 “ps -aux” 的结果中与 usr 相关的信息

[root@localhost home]# ps -aux | grep usr  		# 搜索 "ps -aux" 的结果中与 usr 相关的信息
root          1  0.1  0.6 193700  6768 ?        Ss   10:51   0:05 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root        514  0.0  0.2  37112  2924 ?        Ss   10:51   0:00 /usr/lib/systemd/systemd-journald
root        538  0.0  0.6 192908  6112 ?        Ss   10:51   0:00 /usr/sbin/lvmetad -f
root        542  0.0  0.6  49208  6164 ?        Ss   10:51   0:02 /usr/lib/systemd/systemd-udevd
root        699  0.0  0.1  21688  1316 ?        Ss   10:51   0:00 /usr/sbin/irqbalance --foreground
root        704  0.0  0.6  99692  6056 ?        Ss   10:51   0:00 /usr/bin/VGAuthService -s
root        705  0.2  0.6 305500  6548 ?        Ssl  10:51   0:06 /usr/bin/vmtoolsd
dbus        706  0.0  0.2  66476  2592 ?        Ssl  10:51   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
chrony      711  0.0  0.1 117808  1724 ?        S    10:51   0:00 /usr/sbin/chronyd
polkitd     714  0.0  1.1 613016 11904 ?        Ssl  10:51   0:00 /usr/lib/polkit-1/polkitd --no-debug
root        715  0.0  0.1  26480  1792 ?        Ss   10:51   0:00 /usr/lib/systemd/systemd-logind
root        722  0.0  0.1 126384  1668 ?        Ss   10:51   0:00 /usr/sbin/crond -n
root        737  0.0  2.9 359024 29700 ?        Ssl  10:51   0:01 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopid
root        775  0.0  1.1 700176 11116 ?        Ssl  10:52   0:00 /usr/sbin/NetworkManager --no-daemon
root        904  0.0  0.5 102904  5484 ?        S    10:52   0:00 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/dhclient-ens33.pid -lf /var/lib/NetworkManager/dhclient-33519b99-b1e4-4367-8e50-9714e6506475-ens33.lease -cf /var/lib/NetworkManager/dhclient-ens33.conf ens33
root       1093  0.0  1.9 574300 19468 ?        Ssl  10:52   0:01 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root       1094  0.0  0.4 112924  4316 ?        Ss   10:52   0:00 /usr/sbin/sshd -D
root       1097  0.0  0.4 214456  4040 ?        Ssl  10:52   0:00 /usr/sbin/rsyslogd -n
root       1186  0.0  0.2  89704  2124 ?        Ss   10:52   0:00 /usr/libexec/postfix/master -w
root       1379  0.0  0.2  72252  2848 ?        Ss   10:52   0:00 /usr/libexec/openssh/sftp-server
root       3294  0.0  0.0 112828   976 pts/0    S+   11:34   0:00 grep --color=auto usr
[root@localhost home]#

2、psmisc 命令

如果你的linux中没有 psmisc 命令,那么你可以执行 yum -y install psmisc 进行安装。

pstree命令将所有行程以树状图显示,从中我们可以看到进程之间的关系(如:父子关系)。树状图将会以 pid (如果有指定) 或是以 init 这个基本行程为根 (root),如果有指定使用者 id,则树状图会只显示该使用者所拥有的行程。

[root@localhost home]# pstree -pu
systemd(1)─┬─NetworkManager(775)─┬─dhclient(904)
           │                     ├─{NetworkManager}(788)
           │                     └─{NetworkManager}(792)
           ├─VGAuthService(704)
           ├─auditd(676)───{auditd}(677)
           ├─chronyd(711,chrony)
           ├─crond(722)
           ├─dbus-daemon(706,dbus)───{dbus-daemon}(713)
           ├─firewalld(737)───{firewalld}(901)
           ├─irqbalance(699)
           ├─login(727)───bash(1352)
           ├─lvmetad(538)
           ├─master(1186)─┬─pickup(1192,postfix)
           │              └─qmgr(1193,postfix)
           ├─polkitd(714,polkitd)─┬─{polkitd}(730)
           │                      ├─{polkitd}(731)
           │                      ├─{polkitd}(732)
           │                      ├─{polkitd}(733)
           │                      ├─{polkitd}(734)
           │                      └─{polkitd}(735)
           ├─rsyslogd(1097)─┬─{rsyslogd}(1104)
           │                └─{rsyslogd}(1111)
           ├─sshd(1094)─┬─sshd(1371)───bash(1386)───pstree(4142)
           │            └─sshd(1375)───sftp-server(1379)
           ├─systemd-journal(514)
           ├─systemd-logind(715)
           ├─systemd-udevd(542)
           ├─tuned(1093)─┬─{tuned}(1341)
           │             ├─{tuned}(1342)
           │             ├─{tuned}(1344)
           │             └─{tuned}(1345)
           └─vmtoolsd(705)───{vmtoolsd}(741)
[root@localhost home]#

3、kill 命令

kill 命令发送指定的信号到相应进程。不指定型号将发送SIGTERM(15)终止指定进程。如果任无法终止该程序可用“-KILL” 参数,其发送的信号为SIGKILL(9) ,将强制结束进程,

通常我们会使用强制结束进程,格式:kill -9 进程号



✈ ❀ 希望平凡の我,可以给你不凡の体验 ☂ ✿…

你可能感兴趣的:(Tiger,の,Linux,linux,运维)