Linux基础
Linux基础
linux笔记
VMware安装
如果需要自定义分区请注意看一下:自定义分区设置
linux一般来说分为4个基本区:
用户分区:home——保存用户信息
启动分区:boot——保存系统启动的数据,一般100到200m
交换分区:swap——理解为虚拟内存,真实内存不够的时候临时会使用swap分区,一般是内存的两倍
根分区:/
Linux学习路线
Linux 内核
系统结构
linux 目录介绍
目录名称 | 描述 |
---|---|
/ | 虚拟目录的根目录。通常不会在这里存储文件 |
/bin | 二进制目录,存放许多用户级的GNU工具 |
/boot | 启动目录,存放启动文件 |
/dev | 设备目录,Linux在这里创建设备节点 |
/etc | 系统配置文件目录 |
/home | 主目录,Linux在这里创建用户目录 |
/lib | 库目录,存放系统和应用程序的库文件 |
/media | 媒体目录,可移动媒体设备的常用挂载点 |
/mnt | 挂载目录,另一个可移动媒体设备的常用挂载点 |
/opt | 可选目录,常用于存放第三方软件包和数据文件 |
/proc | 进程目录,存放现有硬件及当前进程的相关信息 |
/root | root用户的主目录 |
/sbin | 系统二进制目录,存放许多GNU管理员级工具 |
/run | 运行目录,存放系统运作时的运行时数据 |
/srv | 服务目录,存放本地服务的相关文件 |
/sys | 系统目录,存放系统硬件信息的相关文件 |
/tmp | 临时目录,可以在该目录中创建和删除临时工作文件 |
/usr | 用户二进制目录,大量用户级的GNU工具和数据文件都存储在这里 |
/var | 可变目录,用以存放经常变化的文件,比如日志文件 |
可分享的: 可以分享给其他系统挂载使用的目录,所以包括执行文件与用户的邮件等数据, 是能够分享给
网络上其他主机挂载用的目录;不可分享的: 自己机器上面运作的装置文件或者是与程序有关的 socket 文件等, 由于仅与自身机器有关,
所以当然就不适合分享给其他主机了。不变的: 有些数据是不会经常变动的,跟随着 distribution 而不变动。 例如函式库、文件说明文件、系统管
理员所管理的主机服务配置文件等等;可变动的: 经常改变的数据,例如登录文件、一般用户可自行收受的新闻组等
Filesystem Hierarchy Standard (FHS)标准:已安装软件通常放置于哪个目录
- / (root, 根目录):与开机系统有关;
- /usr (unix software resource):与软件安装/执行有关;
- /var (variable):与系统运作过程有关。
Linux 文件系统
文件系统 | 描 述 |
---|---|
ext | Linux扩展文件系统,最早的Linux文件系统 |
ext2 | 第二扩展文件系统,在ext的基础上提供了更多的功能 |
ext3 | 第三扩展文件系统,支持日志功能 |
ext4 | 第四扩展文件系统,支持高级日志功能 |
hpfs | OS/2高性能文件系统 |
jfs | IBM日志文件系统 |
iso9660 | ISO 9660文件系统(CD-ROM) |
minix | MINIX文件系统 |
msdos | 微软的FAT16 |
ncp | Netware文件系统 |
nfs | 网络文件系统 |
ntfs | 支持Microsoft NT文件系统 |
proc | 访问系统信息 |
ReiserFS | 高级Linux文件系统,能提供更好的性能和硬盘恢复功能 |
smb | 支持网络访问的Samba SMB文件系统 |
sysv | 较早期的Unix文件系统 |
ufs | BSD文件系统 |
umsdos | 建立在msdos上的类Unix文件系统 |
vfat | Windows 95文件系统(FAT32) |
XFS | 高性能64位日志文件系统 |
Linux内核采用虚拟文件系统(Virtual File System,VFS)作为和每个文件系统交互的接口。这为Linux内核同任何类型文件系统通信提供了一个标准接口。当每个文件系统都被挂载和使时,VFS将信息都缓存在内存中。
Linux发行版
核心Linux发行版
发行版 | 描 述 |
---|---|
Slackware | 最早的Linux发行版中的一员,在Linux极客中比较流行 |
Red Hat | 主要用于Internet服务器的商业发行版 |
Fedora | 从Red Hat分离出的家用发行版 |
Gentoo | 为高级Linux用户设计的发行版,仅包含Linux源代码 |
openSUSE | 用于商用和家用的发行版 |
Debian | 在Linux专家和商用Linux产品中流行的发行版 |
特定用途的Linux发行版
发行版 | 描述 |
---|---|
CentOS | 一款基于Red Hat企业版Linux源代码构建的免费发行版 |
Ubuntu | 一款用于学校和家庭的免费发行版 |
PCLinuxOS | 一款用于家庭和办公的免费发行版 |
Mint | 一款用于家庭娱乐的免费发行版 |
dyne:bolic | 一款用于音频和MIDI应用的免费发行版 |
Puppy Linux | 一款适用于老旧PC的小型免费发行版 |
Linux LiveCD发行版
发行版 | 描述 |
---|---|
Knoppix | 来自德国的一款Linux发行版,也是最早的LiveCD Linux |
PCLinuxOS | 一款成熟的LiveCD形式的Linux发行版 |
Ubuntu | 为多种语言设计的世界级Linux项目 |
Slax | 基于Slackware Linux的一款LiveCD Linux |
Puppy Linux | 为老旧PC设计的一款全功能Linux |
目录文件管理
cd 切换目录
①、命令名称:cd
②、英文原意:change directory
③、命令所在路径:shell 内置命令
④、执行权限:所有用户
⑤、功能描述:切换目录
⑥、语法: cd【目录名】
例子:
切换到指定目录:cd /home
回到上一级目录:cd ..
还是在当前目录:cd .
返回上两级目录:cd ../..
返回进入此目录之前所在的目录:cd -
ls 显示目录文件
①、命令名称:ls
②、英文原意:list
③、命令所在路径:/bin/ls
④、执行权限:所有用户
⑤、功能描述:显示目录文件
⑥、语法: ls 选项[-al]】[文件或目录]
选项:
-a 显示所有文件,包括隐藏文件
-l 详细信息显示—— ls-l 可以简写成 ll
-d 仅显示目录名,而不显示目录下的内容列表
-h 人性化显示(hommization)
-i 查看任意一个文件的i节点(类似于身份证唯一信息)
-t 用文件和目录的更改时间排序;可以用第一个显示的文件判断最近修改的文件
-F 轻松区分文件和目录: /代表目录 @代表链接文件
-R 递归选项;它列出了当前目录下包含的子目录中的文件。如果目录很多,这个输出就会很长。
注意: .
开头的文件除非是目录,否则就是隐藏文件
[root@admin /]# ls -all
总用量 24
dr-xr-xr-x. 18 root root 272 8月 10 17:36 .
dr-xr-xr-x. 18 root root 272 8月 10 17:36 ..
-rw-r--r-- 1 root root 0 5月 10 15:10 .autorelabel
lrwxrwxrwx. 1 root root 7 5月 10 14:03 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 5月 10 15:13 boot
[root@admin home]# ls -F /
bin@ data/ dump.rdb home/ lib64@ media/ opt/ root/ sbin@ sys/ usr/
boot/ dev/ etc/ lib@ main.log mnt/ proc/ run/ srv/ tmp/ var
[root@admin home]# ls -F -R /home/
/home/:
dd.sh demo.txt soft/ user1/
/home/soft:
mysql5.7.39-el7-x86_64.tar.gz* redis-6.2.4.tar.gz*
/home/user1:
- ls -l dd?ff.log 代表匹配一个单词
- ls -l dd*ff.log 代表匹配任意一个或多个单单词
- ls -l dd[ai]ff.log [ai]匹配到a或i的文件
- ls -l dd[1-9]ff.log 范围匹;[1-9]或[a-g]匹配到(1到9,a到g)的文件
- ls -l dd[!a]ff.log 排除匹配到a的文件
- ls -l dd* 匹配到以dd开头
[root@admin home]# ls
dd1ff.log dd2ff.log ddaff.log ddcff.log ddeff.log ddg2ff.log ddopff.log soft
dd23opff.log dd3ff.log ddbff.log dddff.log ddfff.log ddgff.log demo.txt user1
[root@admin home]# ls -l dd?ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd1ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd3ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddaff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddbff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddcff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 dddff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddeff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddfff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddgff.log
[root@admin home]# ls -l dd*ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd1ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd23opff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd3ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddaff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddbff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddcff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 dddff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddeff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddfff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddg2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddgff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 ddopff.log
[root@admin home]# ls -l dd[ai]ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddaff.log
[root@admin home]# ls -l dd[1-9]ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd1ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd3ff.log
[root@admin home]# ls -l dd[!a]ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd1ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd3ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddbff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddcff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 dddff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddeff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddfff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddgff.log
[root@admin home]# ls -l dd*
-rw-r--r-- 1 root root 0 9月 13 15:10 dd1ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd23opff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 dd3ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddaff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddbff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddcff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 dddff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddeff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddfff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddg2ff.log
-rw-r--r-- 1 root root 0 9月 13 15:09 ddgff.log
-rw-r--r-- 1 root root 0 9月 13 15:10 ddopff.log
分析:
①、第一列表示文件类型:
-
表示是文件,d
表示目录,l
表示软连接文件,b
表示为装置文件里面的可供储存的接口设备(可随机存取装置),c
表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)后面的每三个为一组:
u g o
r读
w写
x执行
-无权限
代表字符 | 权限 | 对文件的含义 | 对目录的含义 |
---|---|---|---|
r | 读权限 | 可以查看文件内容 | 可以列出目录中的内容 |
w | 写权限 | 可以修改文件内容 | 可以在目录中创建、删除文件 |
x | 执行权限 | 可以执行文件 | 可以进入目录 |
- | 无权限 | 不可以对文件的所有操作 | 不可以进入目录 |
②、第2列表示:引用计数,表示文件被引用过多少次
③、第3-4列表示:第一个root表示所有者,一般创建一个文件,所有者默认是创建者。第二个root表示所属组。
④、第5列表示:文件字节大小,不带单位表示字节
⑤、第6列表示:8月 10 17:36 文件的最后修改时间。注意:Linux没有明确的创建时间,只有最后一次访问时间、文件的状态修改时间、文件的数据修改时间
⑥、第7列表示:文件名或目录名
案例:进入 /
目录,查看/目录下所有文件和所有文件的详细信息,查看bin目录下所有文件的详细信息
[root@admin ~]# cd /
[root@admin /]# ls -al /
总用量 24
dr-xr-xr-x. 18 root root 272 9月 9 21:15 .
dr-xr-xr-x. 18 root root 272 9月 9 21:15 ..
-rw-r--r-- 1 root root 0 5月 10 15:10 .autorelabel
lrwxrwxrwx. 1 root root 7 5月 10 14:03 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 5月 10 15:13 boot
drwxr-xr-x 3 root root 26 8月 10 17:48 data
[root@admin /]# ll /bin
lrwxrwxrwx. 1 root root 7 5月 10 14:03 /bin -> usr/bin
ln 链接创建
权限后的数字代表硬链接数
①、命令名称:ln
②、英文原意:link
③、命令所在路径:/bin/link
④、执行权限:所有用户
⑤、功能描述:生成链接文件
⑥、语法: ln -s 【源文件】【目标文件】
-s
创建软链接
不加 -s
创建硬链接
例子:
一、创建文件 /etc/issue 的软链接 /tmp/issue.soft:ln -s /etc/issue /tmp/issue.soft
二、创建文件 /etc/issue 的硬链接 /tmp/issue.hard:ln /etc/issue /tmp/issue.hard
[root@admin /]# ln -s /etc/issue /tmp/issue.soft
[root@admin /]# ln /etc/issue /tmp/issue.hard
[root@admin /]# ls -all /tmp/issue.*
-rw-r--r--. 2 root root 23 11月 23 2020 /tmp/issue.hard
lrwxrwxrwx 1 root root 10 9月 9 22:24 /tmp/issue.soft -> /etc/issue
[root@admin /]# ls -i /tmp/issue.*
第一:软链接 前面是 l 开头的(link),而硬链接是 - 开头,表示文件
第二:软链接所有者和所属组具有全部操作的权限,rwxrwxrwx 而硬链接不是。也就是软链接的前面都是 lrwxrwxrwx
第三:软链接类似与 windows 的快捷方式,有一个明显的箭头指向,而指向的是源文件
第四:硬链接文件除了文件名与源文件不一样,其余所有信息都是一样的。类似于 cp 复制操作。但是又和复制不一样,硬链接可以同步更新。
第五:通过 ls -i 操作,来查看 文件的 i 节点。发现硬链接和源文件的 i 节点是相同的,而软链接与源文件的 i 节点是不同的
[root@admin /]# ls -i /etc/issue
135778923 /etc/issue
[root@admin /]# ls -all -i /tmp/issue.*
135778923 -rw-r--r--. 2 root root 23 11月 23 2020 /tmp/issue.hard
134299727 lrwxrwxrwx 1 root root 10 9月 9 22:24 /tmp/issue.soft -> /etc/issue
第六:不允许将硬链接指向目录;不允许跨分区创建硬链接
链接查看指令
mkdir 创建目录
①、命令名称:mkdir
②、英文原意:make directories
③、命令所在路径:/bin/mkdir
④、执行权限:所有用户
⑤、功能描述:创建新目录
⑥、语法: mkdir 【-p】【目录名】
-p
递归创建
例子:
创建单个目录:
[root@admin root]# mkdir data
[root@admin root]# ls
data
创建多个目录:
[root@admin root]# mkdir -p {a,b}
[root@admin root]# ls
a b data
注意:
1、创建的目录已经存在, 那么 Linux 会提示我们 Linux 无法创建它。
2、不带任何参数运行 mkdir 命令会在当前目录下创建目录。
3、不带上-p
,如果新建的文件上级目录不存在则不会执行成功这种说法是错误的。加或者不加上 -p 前面的目录没有得都会依次创建。
4、创建目录的首要条件是, 在想要创建目录的目标路径下你必须具有访问权限
案例:
进入
/
根目录,创建c,e,d
目录在home
目录中,其中e
中有文件夹software
,d
中有文件夹program
,program中有文件夹名为demo.log
的目录
[root@admin root]# cd /
[root@admin /]# mkdir -p /home/{c,e/software,d/program/demo.log}
[root@admin /]# cd home/
[root@admin home]# tree
.
├── c
├── d
│ └── program
│ └── demo.log
└── e
└── software
10 directories, 0 files
pwd 显示当前目录
①、命令名称:pwd
②、英文原意:print working directory
③、命令所在路径:/bin/pwd
④、执行权限:所有用户
⑤、功能描述:显示当前目录
⑥、语法: pwd
案例
将当前目录路径存入c盘下一个文件叫做he.txt文件
[root@admin home]# pwd > /home/c/he.log
[root@admin home]# cat /home/c/he.log
/home
>
写入内容到指定目录文件,cat
命令为用文本的方式打开一个文件
直接写字符串进入一个文本 echo "str" > file
[root@admin home]# echo "替换写入文本1" > /home/c/dd.log
[root@admin home]# echo "替换写入文本2" > /home/c/dd.log
[root@admin home]# cat /home/c/dd.log
替换写入文本2
[root@admin home]# echo "追加文本1" >> /home/c/dd.log
[root@admin home]# echo "追加文本2" >> /home/c/dd.log
[root@admin home]# cat /home/c/dd.log
替换写入文本2
追加文本1
追加文本2
cp 复制文件或目录
①、命令名称:cp
②、英文原意:copy
③、命令所在路径:/bin/cp
④、执行权限:所有用户
⑤、功能描述:复制文件或目录
⑥、语法: cp -rp 【原文件或目录】【目标目录】
-r
复制目录
-p
保留文件属性
案例:
请进入根目录,将 /home
目录下的所有文件和文件夹清空并删除,在根目录下 copy /etc/sound/events
目录下的所有文件到/home
目录下的c
目录中
[root@admin /]# rm -rf /home/*
[root@admin /]# ls /home/
[root@admin /]# cp -rp /etc/samba/* /home/
[root@admin /]# ls /home/
lmhosts smb.conf smb.conf.example
mv 剪切文件或目录
①、命令名称:mv
②、英文原意:move
③、命令所在路径:/bin/mv
④、执行权限:所有用户
⑤、功能描述:剪切文件、改名
⑥、语法: mv【原文件或目录】【目标目录】
案例:
在/tmp目录下,创建一个文件夹d,d目录中创建一个文件b.log,进入/,将/tmp 中的d文件夹中的所有内容包含d目录本身剪切到/home目录下
[root@admin /]# cd /tmp/
[root@admin tmp]# mkdir d
[root@admin tmp]# touch ./d/b.log
[root@admin tmp]# cd /
[root@admin /]# mv /tmp/d /home/
[root@admin /]# ls /home/
d
[root@admin /]# ls /home/d/
b.log
rmdir 删除空目录
①、命令名称:rmdir
②、英文原意:remove empty directories
③、命令所在路径:/bin/rmdir
④、执行权限:所有用户
⑤、功能描述:删除空目录(如果目录下存在文件则不能删除)
⑥、语法: rmdir 【空目录名】
[root@admin home]# mkdir dd
[root@admin home]# ls
c d dd e root
[root@admin home]# rmdir dd
[root@admin home]# ls
c d e root
[root@admin home]# mkdir -p ./dd/ff
[root@admin home]# ls
c d dd e root
[root@admin home]# rmdir dd
rmdir: 删除 "dd" 失败: 目录非空
rm 删除文件或目录
①、命令名称:rm
②、英文原意:remove
③、命令所在路径:/bin/rm
④、执行权限:所有用户
⑤、功能描述:剪切文件、改名
⑥、语法: rm -rf 【文件或目录】
-r
删除目录
-f
强制执行
案例:
请进入/目录,然后同时删除 /home/a与b
[root@admin /]# ls /home/
a b d
[root@admin /]# rm -rf /home/{a,b}
[root@admin /]# ls /home/
d
touch 创建文件
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
[root@admin /]# touch /home/{a.log,b.log}
[root@admin /]# ls /home/
a.log b.log d
如果要创建一个带空格文件名的文件
[root@admin home]# touch "a b c"
[root@admin home]# ls -all
-rw-r--r-- 1 root root 0 9月 9 22:05 a b c
案例:
删除/home中所有文件以及目录,进入/目录,创建同时创建 a,b,c
文件以及a b c
文件一共四个文件
[root@admin home]# touch /home/{a,b,c,"a b c"}
[root@admin home]# ls -all
-rw-r--r-- 1 root root 0 9月 9 22:08 a
-rw-r--r-- 1 root root 0 9月 9 22:08 a b c
-rw-r--r-- 1 root root 0 9月 9 22:08 b
-rw-r--r-- 1 root root 0 9月 9 22:08 c
echo 打印字符或者回显
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:打印字符或者回显,例如输入 echo ok,会显示 ok, echo
ok > test.txt 则会把 ok 字符覆盖 test.txt 内容
⑥、语法:
echo 【选项】 【输出内容】 【(输出重定向)> 文件】
echo "回显"
echo -e "支持\n回显"
echo "12311" >> 01.txt 文本末尾追加
echo "4565555" > 01.txt 替换文本内容
-e 扩展参数的常用参数
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入 tab; \v 与\f 相同;
\\ 插入\字符;
\033[30m 黑色字 \033[0m
\033[31m 红色字 \033[0m
\033[32m 绿色字 \033[0m
\033[33m 黄色字 \033[0m
\033[34m 蓝色字 \033[0m
\033[35m 紫色字 \033[0m
\033[36m 天蓝字 \033[0m
\033[37m 白色字 \033[0m
\033[40;37m 黑底白字 \033[0m
\033[41;37m 红底白字 \033[0m
\033[42;37m 绿底白字 \033[0m
\033[43;37m 黄底白字 \033[0m
\033[44;37m 蓝底白字 \033[0m
\033[45;37m 紫底白字 \033[0m
\033[46;37m 天蓝底白字 \033[0m
\033[47;30m 白底黑字 \033[0m
echo 颜色打印扩展,auto.sh 内容如下:
echo -e "\033[36mPlease Select Install Menu follow:\033[0m"
echo -e "\033[32m1)Install Apache Server\033[1m"
echo "2)Install MySQL Server"
echo "3)Install PHP Server"
echo "4)Configuration index.php and start LAMP server"
echo -e "\033[31mUsage: { /bin/sh $0 1|2|3|4|help}\033[0m"
tee
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
tee 01.txt <<-'EOF'
{
"registry-mirrors": ["https"]
}
EOF
cat 显示较少内容
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:在 Linux 系统下使用 cat 命令进行多个小文件的合并也很方便
⑥、语法:
cat [选项] [文件名]
-b: #空行不计入行号的统计
-n: #显示行号
-e: #以$字符作为每行的结尾
-t: #显示TAB字符(^I),禁用制表符
⑦、使用实例
# 合并文件
[root@admin home]# cat /data/users_* > users.sql
[root@admin home]# cat demo.txt
sdfsdfsdf
1354354
34sdr23424sdfs
[root@admin home]# cat -n demo.txt
1 sdfsdfsdf
2
3 1354354
4
5 34sdr23424sdfs
6
[root@admin home]# cat -b demo.txt
1 sdfsdfsdf
2 1354354
3 34sdr23424sdfs
[root@admin home]# cat -T demo.txt
sdfsdfsdf
1354354
34sdr23424sdfs
# 替换全部内容
cat -s <<EOF > /home/test/k8s.conf
vm.swappiness=0
EOF
# 追加内容
cat -s <<EOF >> /home/test/k8s.conf
vm.swappiness=0
EOF
⑧、帮助信息
# 帮助信息
$ cat --h
Usage: cat [OPTION]... [FILE]...
Concatenate FILE(s) to standard output.
With no FILE, or when FILE is -, read standard input.
-A, --show-all equivalent to -vET
-b, --number-nonblank number nonempty output lines, overrides -n
-e equivalent to -vE
-E, --show-ends display $ at end of each line
-n, --number number all output lines
-s, --squeeze-blank suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version output version information and exit
Examples:
cat f - g Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
Full documentation at: <http://www.gnu.org/software/coreutils/cat>
or available locally via: info '(coreutils) cat invocation'
more 向后分页
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
/bin/more文件,执行效果是翻页翻行——只能往后面翻
执行more的时候,按enter是往下走一行,space空格键是往下翻一页,q或者Q退出翻页模式
[root@admin home]# more a
rh
r
th
df
sdf
gffd
ghgh
werwer
hyughj
gyhjg
e
r
--More--(5%)
less 前后翻页
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
pgdn后翻一页,pgup前翻一页,enter翻一行,空格后翻一页
上键上翻一行,下键下翻一行
输入/ 后输入关键字例如/echo +enter键 查找当页索引内容
q或者是Q,直接退出
[root@admin home]# less a
find 查找文件或者目录
①、命令名称: find
②、英文原意:
③、命令所在路径: /usr/bin/find
④、执行权限:所有用户
⑤、功能描述: find 指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件显示在终端。
⑥、语法:
find 【搜索范围】 【选项】
选项:
- -name<查询方式> 按照指定的文件名查找模式查找文件
- -user<用户名> 查找属于指定用户名所有文件
- -size<文件大小> 按照指定的文件大小查找文件
(+n
大于-n
小于n
等于)
我们可以将其计量单位指定为以下约定:
- b:512 字节块(默认)
- c:字节
- w:双字节字
- k:KB
- M:MB
- G:GB
(1)按文件名:根据名称查找/目录下的所有 txt 文件。
find xiaoyu/ -name “*.txt”
(2)按拥有者:查找/opt目录下,所属用户名称为 user1 的文件
find xiaoyu/ -user user1
(3)按文件大小:在/home目录下查找大于200m的文件
find /home -size +204800
find /home -type f -size +10M -size -1G
(4)删除该目录下最后一次访问时间超过一年的日志文件呢?
find . -type f -atime +365 -exec rm -rf {} \;
(5)按名称或正则表达式查找文件
find . -name test.txt
find ./books -name "*.pdf"
find ./books -type f -name "*.pdf"
默认情况下,find 命令会搜索常规文件,但最好进行指定(-type f)以使所有内容更清晰。
(6)查找不同类型的文件
除了搜索常规文件外,我们还可以通过指定 -type
选项来搜索其他类型的文件。
例如目录:
find . -type d -name "yu*"
或者符号链接:
find . -type l -name "yu*"
(7)按指定的时间戳查找文件
要按指定的时间戳搜索文件,我们需要知道 Linux 系统中的 3 个不同的时间戳:
访问时间戳(atime) :最后一次读取文件的时间。
修改时间戳(mtime) :文件内容最后一次被修改的时间。
更改时间戳(ctime) :上次更改文件元数据的时间(如,所有权、位置、文件类型和权限设置)
find . -type f -atime +365
find . -type f -mtime 5
find . -type f -ctime +5 -ctime -10
(9)按权限查找文件
-perm
选项可以帮助我们按指定权限查找文件
find . -type f -perm 777
(10)按所有权查找文件
使用 -user
选项指定用户名。
例如,以下命令将查找所有属于 yu 的文件:
find -type f -user yu
(11)在找到文件后执行命令
在找到我们需要的文件后进行后续操作。
例如将其删除,或检查它们的详细信息等等。
-exec
命令使这些所有事情变得更加容易
find . -type f -atime +365 -exec rm -rf {} \;
{}
是用于查找结果的占位符。
注意:占位符 {} 非常重要,尤其是在您想删除文件时。
因为,如果您不使用它,该命令将对所有文件执行
(而不是您刚刚通过 find 命令找到的文件)。
一个使用占位符:
find . -type f -atime +5 -exec ls {} \;
另一个不使用:
find . -type f -atime +5 -exec ls \;
-exec
选项后面的命令必须以分号(;)结束。
众所周知,转义字符用于去除单个字符的特殊含义。
在 Linux 中,反斜杠 \ 用作转义字符。
所以我们将它用于分号字符。
head 查看文件内容
①、命令名称:head
②、英文原意:
③、命令所在路径:/usr/bin/head
④、执行权限:所有用户
⑤、功能描述: 查看文件内容,通常查看文件前10行
⑥、语法
head 【选项】 【文件】
- -c, --bytes=[-]K 显示每个文件的前 K 字节内容,如果附加"-"参数,则除了每个文件的最后 K 字节数据外显示剩余全部内容;
- -n, --lines=[-]K 显示每个文件的前 K 行内容,如果附加"-"参数,则除了每个文件的最后 K 行外显示剩余全部内容
- -q, --quiet, --silent 不显示包含给定文件名的文件头
- -v, --verbose 总是显示包含给定文件名的文件头
[root@admin home]# head demo.txt
sdfsdfsdf
1354354
34sdr23424sdfs
34sdr23424sdfs
34sdr23424sdfs
34sdr23424sdfs
34sdr23424sdfs
[root@admin home]# head -3 demo.txt
sdfsdfsdf
1354354
tail 查看文件内容后10行
①、命令名称:tail
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:查看文件内容后10行
⑥、语法:
tail 【选项】 【文件】
[root@admin home]# tail demo.txt
34sdr23424sdfs1
34sdr23424sdfs2
34sdr23424sdfs3
34sdr23424sdfs4
34sdr23424sdfs5
34sdr23424sdfs6
34sdr23424sdfs7
34sdr23424sdfs8
34sdr23424sdfs9
34sdr23424sdfs10
[root@admin home]# tail -n 2 demo.txt
34sdr23424sdfs9
34sdr23424sdfs10
file 查看文件类型
①、命令名称:file
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:查看文件类型
⑥、语法:
file 【文件】
[root@admin home]# file user1
user1: directory
[root@admin home]# file demo.txt
demo.txt: empty
[root@admin home]# ln -s ./demo.txt ./user1/
[root@admin home]# ls -l user1/
总用量 0
lrwxrwxrwx 1 root root 10 9月 13 15:23 demo.txt -> ./demo.txt
[root@admin home]# file user1/demo.txt
user1/demo.txt: broken symbolic link to `./demo.txt'
[root@admin home]# file /bin/ls
/bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=c8ada1f7095f6b2bb7ddc848e088c2d615c3743e, stripped
whereis
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
whereis [选项] 文件
选项:
- -b 只搜索二进制文件
- -B <目录> 定义二进制文件查找路径
- -m 只搜索 man 手册
- -M <目录> 定义 man 手册查找路径
- -s 只搜索源代码
- -S <目录> 定义源代码查找路径
- -f 终止 <目录> 参数列表
- -u 搜索不常见记录
- -l 输出有效查找路径
sort 排序数据
①、命令名称:sort
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:对数据进行排序
⑥、语法:
cat 【选项】 【文件】
[root@admin home]# cat demo.txt
one
two
three
four
five
[root@admin home]# sort demo.txt
five
four
one
three
two
[root@admin home]# sort ds.log
1
10
100
145
2
3
45
75
[root@admin home]# sort -n ds.log
1
2
3
10
45
75
100
145
[root@admin home]# sort df.log
Apr
Aug
Dec
Feb
Jan
Jul
Jun
Mar
May
Nov
Oct
Sep
[root@admin home]# sort -M df.log
Jan
Feb
Mar
Apr
May
Jun
Jul
Aug
Sep
Oct
Nov
Dec
-k 和 -t 参数在对按字段分隔的数据进行排序时非常有用
[root@admin home]# sort -t ':' -k 3 -n /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
pkiuser:x:17:17:Certificate System:/usr/share/pki:/sbin/nologin
named:x:25:25:Named:/var/named:/sbin/nologin
按第三个字段——用户ID的数值排序
-n 参数在排序数值时非常有用,比如 du 命令的输出:( -r 参数将结果按降序输出)
[root@admin home]# du -sh * | sort -nr
921M soft
16K user1
4.0K ds.log
4.0K df.log
4.0K demo.txt
0 ddopff.log
0 ddgff.log
0 ddg2ff.log
符号含义
符号 | 含义 |
---|---|
l | 管道符或者正则 |
> | 输出重定向 |
>> | 输出追加重定向 |
< | 输入重定向 |
<< | 输入追加重定向 |
~ | 当前用户家的目录 |
$() `` | 引用命令被执行后的结果 |
$ | 以 xx结尾的(正则表达式) |
^ | 以 xx开头的(正则表达式) |
* | 匹配全部字符,通配符 |
? | 任意一个字符,通配符 |
# | 注释 |
& | 让脚本或程序在后台执行 |
&& | 并且,条件同时成立 |
[] | 表示一个范围(正则表达式,通配符) |
{} | 产生一个系列(通配符) |
. | 当前目录的硬链接 |
.. | 上级目录的硬链接 |
编辑器
vim
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
vi filename,创建文件的同时写入内容
vim 是 vi 编辑器的增强
vim进入编辑文本,i开始输入,esc命令模式,: 在命令模式下输入冒号进入编辑模式,输入命令+enter回到命令模式,:wq保存退出:q不保存退出 :q ! 强制退出:x 保存并退出
快捷键:
dd
删除当前行,yy
复制当前行,p
复制当前行,:set nu
设置行号,:set nonu
取消行号,:n
到第n行,$
移动到行尾,0
移动到行首
用户及权限管理
chown 所属组
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
chown 【选项】 【所属用户:所属组】 【文件目录】
#将demo文件所属的用户为 root,组为 kong。
chown -R root:kong demo.txt
#修改 demo 文件夹所属的组为 root
chown -R :root demo.txt
chgrp –R root demo.txt
chmod 文件权限
①、命令名称:chmod
②、英文原意:change the permissions mode of a file
③、命令所在路径:/bin/chmod
④、执行权限:所有用户
⑤、功能描述:改变文件或目录权限
⑥、语法:
- chmod 【{ugoa}{+-=}{rwx}】【文件或目录】
- chmod 【mode=421】 【文件或目录】
u
:所有者 g
:所有组 o
:其他人 a
:所有人(u、g、o
的总和)
mode=421, 读 r
表示4,写 w
表示2,执行 x
表示1;rwx
=7,rw-
=6,r--
=4,---
=0
-R 递归修改
u:user 所有者,g:group组,o:other其他访问者,a:all 所有使用者
对应的位置是前 中 后三个位置
chmod -R 777 demo.txt
chmod -R 740 demo.txt
chmod -R 651 demo.txt
(1)授予用户对 demo 目录拥有 rwx 权限
chmod –R u+rwx demo
(2)授予组对 demo 目录拥有 rwx 权限
chmod –R g+rwx demo
(3)授予用户、组、其他人对 demo 目录拥有 rwx 权限
chmod –R u+rwx,g+rwx,o+rwx demo
(4) 撤销用户对 demo 目录拥有 w 权限
chmod –R u-w demo
(5) 撤销用户、组、其他人对 demo 目录拥有 x 权限
chmod –R u-x,g-x,o-x demo
(6) 授予用户、组、其他人对 demo 目录只有 rx 权限
chmod –R u=rx,g=rx,o=rx demo
usermod 将用户添加到其他组
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
usermod -aG root kong ;将kong添加到root组
umask 显示、设置文件的缺省权限
①、命令名称:umask
②、英文原意:the user file-creation mask
③、命令所在路径:shell 内置命令
④、执行权限:所有用户
⑤、功能描述:显示、设置文件的缺省权限
⑥、语法: umask 【-S】
-S
以rwx形式显示新建文件的缺省权限
注意:可能大家不太明白这个命令的意思,我们分别执行umask 和 umask -S 如下:
[root@admin home]# umask
0022
[root@admin home]# umask -S
u=rwx,g=rx,o=rx
其中umask 执行显示结果是 0022,第一个0表示特殊权限,后面我们会单独进行讲解有哪几种特殊权限。022表示权限的掩码值,我们用7 7 7 减去 0 2 2得到755(是每一位相减),表示的就是下面通过加上-S输出的rwxr-xr-x,这个值用数字表示就是755.
这个意思说明创建一个文件的默认权限所有者为rwx,所属组为rx,其他人为rx。也就是说创建一个新文件默认权限为 rwxr-xr-x,我们创建一个文件来验证一下:
[root@admin home]# touch a.log
[root@admin home]#
[root@admin home]# ll a.log
-rw-r--r-- 1 root root 0 9月 9 22:42 a.log
我们发现使用touch命令创建了一个文件a.txt,然后发现权限并不是rwxr-xr-x,而是rw-r--r--。对比发现少了三个x,也就是少了可执行权限。这是为什么呢?
这是因为在Linux系统中,所有新创建的文件都是没有可执行权限的。这是出于Linux系统的一种自我保护,因为类似的病毒木马程序都是具有可执行权限的。所以在Linux系统中,新创建的文件是没有可执行权限的。
那么我们如何设置默认权限呢?比如我们想将新创建的文件权限设置为rwxr-xr--,也就是754。我们用777减去754得到023。也就是通过执行 umask 023 来完成默认权限设置。
文件传输
sed
# 设置IP
sed -ri "/IPADDR/s#(.*.)\..*#\1.${ip}\"#" /etc/sysconfig/network-scripts/ifcfg-ens33
# 设置UUID
sed -ri "s/UUID=.*/UUID=\"${UUID}\"/" /etc/sysconfig/network-scripts/ifcfg-ens33
#$(sed -n '3,100p) 读取文件的3-100行
cat /etc/hosts\n$(sed -n '3,100p' /etc/hosts)
gawk
正则表达式
系统管理
ps 进程管理
①、命令名称:ps
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:进程管理,显示了程序的进程ID(Process ID,PID)、它们运行在哪个终端(TTY)
以及进程已用的CPU时;它只能显示某个特定时间点的信息
⑥、语法:
ps 【选项】
Unix风格的参数
- -A 显示所有进程
- -N 显示与指定参数不符的所有进程
- -a 显示除控制进程(session leader ① )和无终端进程外的所有进程
- -d 显示除控制进程外的所有进程
- -e 显示所有进程
- -C cmdlist 显示包含在 cmdlist 列表中的进程
- -G grplist 显示组ID在 grplist 列表中的进程
- -U userlist 显示属主的用户ID在 userlist 列表中的进程
- -g grplist 显示会话或组ID在 grplist 列表中的进程 ②
- -p pidlist 显示PID在 pidlist 列表中的进程
- -s sesslist 显示会话ID在 sesslist 列表中的进程
- -t ttylist 显示终端ID在 ttylist 列表中的进程
- -u userlist 显示有效用户ID在 userlist 列表中的进程
- -F 显示更多额外输出(相对 -f 参数而言)
- -O format 显示默认的输出列以及 format 列表指定的特定列
- -M 显示进程的安全信息
- -c 显示进程的额外调度器信息
- -f 显示完整格式的输出
- -j 显示任务信息
- -l 显示长列表
- -o format 仅显示由 format 指定的列
- -y 不要显示进程标记(process flag,表明进程状态的标记)
- -Z 显示安全标签(security context) ① 信息
- -H 用层级格式来显示进程(树状,用来显示父进程)
- -n namelist 定义了 WCHAN 列显示的值
- -w 采用宽输出模式,不限宽度显示
- -L 显示进程中的线程
- -V 显示 ps 命令的版本号
[root@admin home]# ps
PID TTY TIME CMD
2048 pts/0 00:00:00 bash
19813 pts/0 00:00:00 head
91275 pts/0 00:00:05 ls
108430 pts/0 00:00:00 cat
116369 pts/0 00:00:00 ps
[root@admin home]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 2 0 0 10:54 ? 00:00:00 [kthreadd]
root 3 2 0 10:54 ? 00:00:00 [rcu_gp]
root 4 2 0 10:54 ? 00:00:00 [rcu_par_gp]
root 6 2 0 10:54 ? 00:00:00 [kworker/0:0H-kb]
root 8 2 0 10:54 ? 00:00:00 [mm_percpu_wq]
root 9 2 0 10:54 ? 00:00:00 [ksoftirqd/0]
- UID:启动这些进程的用户。
- PID:进程的进程ID。
- PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
- C:进程生命周期中的CPU利用率。
- STIME:进程启动时的系统时间。
- TTY:进程启动时的终端设备。
- TIME:运行进程需要的累计CPU时间。
- CMD:启动的程序名称。
[root@admin home]# ps -l
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
4 S 0 2048 2043 0 80 0 - 29250 do_wai pts/0 00:00:00 bash
0 T 0 19813 2048 0 80 0 - 27071 do_sig pts/0 00:00:00 head
4 T 0 91275 2048 0 80 0 - 30984 do_sig pts/0 00:00:05 ls
0 T 0 108430 2048 0 80 0 - 27020 do_sig pts/0 00:00:00 cat
4 R 0 119231 2048 0 80 0 - 38333 - pts/0 00:00:00 ps
- F :内核分配给进程的系统标记。
- S :进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
- PRI :进程的优先级(越大的数字代表越低的优先级)。
- NI :谦让度值用来参与决定优先级。
- ADDR :进程的内存地址。
- SZ :假如进程被换出,所需交换空间的大致大小。
- WCHAN :进程休眠的内核函数的地址
BSD风格的参数
参 数
- T 显示跟当前终端关联的所有进程
- a 显示跟任意终端关联的所有进程
- g 显示所有的进程,包括控制进程
- r 仅显示运行中的进程
- x 显示所有的进程,甚至包括未分配任何终端的进程
- U userlist 显示归 userlist 列表中某用户ID所有的进程
- p pidlist 显示PID在 pidlist 列表中的进程
- t ttylist 显示所关联的终端在 ttylist 列表中的进程
- O format 除了默认输出的列之外,还输出由 format 指定的列
- X 按过去的Linux i386寄存器格式显示
- Z 将安全信息添加到输出中
- j 显示任务信息
- l 采用长模式
- o format 仅显示由 format 指定的列
- s 采用信号格式显示
- u 采用基于用户的格式显示
- v 采用虚拟内存格式显示
- N namelist 定义在 WCHAN 列中使用的值
- O order 定义显示信息列的顺序
- S 将数值信息从子进程加到父进程上,比如CPU和内存的使用情况
- c 显示真实的命令名称(用以启动进程的程序名称)
- e 显示命令使用的环境变量
- f 用分层格式来显示进程,表明哪些进程启动了哪些进程
- h 不显示头信息
- k sort 指定用以将输出排序的列
- n 和 WCHAN 信息一起显示出来,用数值来表示用户ID和组ID
- w 为较宽屏幕显示宽输出
- H 将线程按进程来显示
- m 在进程后显示线程
- L 列出所有格式指定符
- V 显示 ps 命令的版本号
[root@admin home]# ps l
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
4 0 1155 1 20 0 110212 1832 wait_w Ss+ tty1 0:00 /sbin/agetty --noclear tty1 linux
4 0 2048 2043 20 0 117000 5112 do_wai Ss pts/0 0:00 -bash
0 0 19813 2048 20 0 108284 1784 do_sig T pts/0 0:00 head
4 0 91275 2048 20 0 123936 3304 do_sig T pts/0 0:05 ls --color=auto -F -R /
0 0 108430 2048 20 0 108080 656 do_sig T pts/0 0:00 cat
4 0 120675 2048 20 0 153332 3776 - R+ pts/0 0:00 ps l
- VSZ:进程在内存中的大小,以千字节(KB)为单位。
- RSS:进程在未换出时占用的物理内存。
- STAT:代表当前进程状态的双字符状态码
- < :该进程运行在高优先级上。
- N :该进程运行在低优先级上。
- L :该进程有页面锁定在内存中。
- s :该进程是控制进程。
- l :该进程是多线程的。
- + :该进程运行在前台.
top 实时监测进程
①、命令名称:top
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:实时监测进程
⑥、语法:
top
[root@admin home]# top
当前时间 系统的运行时间 登录的用户数 平均负载(最近1、5、15分钟的平均负载)
top - 16:11:29 up 5:17, 1 user, load average: 0.03, 0.04, 0.01
Tasks: 172 total, 1 running, 94 sleeping, 3 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.1 si, 0.0 st
KiB Mem : 8125040 total, 7215700 free, 497648 used, 411692 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 7312988 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
386 root -51 0 0 0 0 S 0.3 0.0 0:02.21 irq/16-vmwgfx
1341 mysql 20 0 2145300 278712 15668 S 0.3 3.4 0:11.85 mysqld
2049 root 20 0 114216 4088 2888 S 0.3 0.1 0:53.76 bash
100754 root 20 0 0 0 0 I 0.3 0.0 0:02.57 kworker/1:0-eve
121612 root 20 0 0 0 0 I 0.3 0.0 0:00.08 kworker/2:1-mm_
125813 root 20 0 162108 4536 3800 R 0.3 0.1 0:00.09 top
1 root 20 0 125556 5464 3940 S 0.0 0.1 0:06.66 systemd
2 root 20 0 0 0 0 S 0.0 0.0 0:00.02 kthreadd
3 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_gp
4 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 rcu_par_gp
6 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 kworker/0:0H-kb
8 root 0 -20 0 0 0 I 0.0 0.0 0:00.00 mm_percpu_wq
9 root 20 0 0 0 0 S 0.0 0.0 0:00.02 ksoftirqd/0
10 root 20 0 0 0 0 I 0.0 0.0 0:10.64 rcu_sched
11 root rt 0 0 0 0 S 0.0 0.0 0:00.05 migration/0
13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/0
14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 cpuhp/1
- 第一行显示了当前时间、系统的运行时间、登录的用户数以及系统的平均负载(最近1分钟的、
最近5分钟的和最近15分钟的平均负载)
值越大说明系统的负载越高。由于进程短期的突发性活动,出现最近1分钟的高负载值也很常见,
但如果近15分钟内的平均负载都很高,就说明系统可能有问题 - 第二行显示了进程概要信息—— top 命令的输出中将进程叫作任务(task):有多少进程处在
运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应) - 第三行显示了CPU的概要信息。 top 根据进程的属主(用户还是系统)和进程的状态(运行、
空闲还是等待)将CPU利用率分成几类输出 - 其后的两行说明了系统内存的状态。
- 第一行说的是系统的物理内存:总共有多少内存,当前用了多少,还有多少空闲。
- 后一行说的是同样的信息,不过是针对系统交换空间(如果分配了的话)的状态而言的。
- PID:进程的ID。
- USER:进程属主的名字。
- PR:进程的优先级。
- NI:进程的谦让度值。
- VIRT:进程占用的虚拟内存总量。
- RES:进程占用的物理内存总量。
- SHR:进程和其他进程共享的内存总量。
- S:进程的状态(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)。
- %CPU:进程使用的CPU时间比例。
- %MEM:进程使用的内存占可用内存的比例。
- TIME+:自进程启动到目前为止的CPU时间总量。
- COMMAND:进程所对应的命令行名称,也就是启动的程序名。
Linux进程信号
kill 终止进程
①、命令名称:kill
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:终止进程
⑥、语法:
kill [参数] 进程号
代码 | 名称 | 描述 |
---|---|---|
0 | EXIT | 程序退出时收到该信息 |
1 | HUP | 挂起,也会造成某些进程在没有终止的情况下重新初始化。 |
2 | INT | 中断,表示结束进程,但并不是强制性的,常用的 “Ctrl+C” 组合键发出就是一个 kill -2 的信号。 |
3 | QUIT | 结束运行 |
9 | KILL | 杀死进程,即强制结束进程 |
11 | SEGV | 段错误 |
15 | TERM | 正常结束进程,是 kill 命令的默认信号。 |
17 | STOP | 无条件停止运行,但不终止 |
18 | TSTP | 停止或暂停,但继续在后台运行 |
19 | CONT | 在 STOP 或 TSTP 之后恢复执行 |
kill -3 $$
kill -0 $PPID
kill -9 5215
killall
killall http*
警告:以root用户身份登录系统时,使用 killall 命令要特别小心,因为很容易就会误用通配符
而结束了重要的系统进程。这可能会破坏文件系统。
防火墙
实际应用场景中防火墙是要打开的,只能开放端口来外部访问。一般是通过开放端口来实现,关闭防火墙容易导致安全问题。
启动命令:systemctl start firewalld
;systemctl restart firewalld
;systemctl status firewalld
自动启动:systemctl disable firewalld | systemctl enablefirewalld
开放端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent
--zone #作用域
--add-port=3306/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
查看开启端口:netstat -ntlp
或:firewall-cmd --list-ports
deepin 防火墙
获取更新:sudo apt-get update
更新系统:sudo apt-get dist-upgrade -y
清理更新缓存:sudo apt-get autoclean
sudo apt-get install ufw || sudo apt install gufw
sudo ufw status:active 启动,inactive 未启动
sudo ufw enable
开启
sudo ufw disable
关闭
端口
查看:netstat -tunlp |grep port
netstat -ntlp
或:firewall-cmd --list-ports
修改文件监视程序数量的系统限制
sudo echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf
系统设置
安装软件程序
包管理基础
使用Debian包
使用Red Hat包
从源码安装
备份压缩
命令 | 文件格式 | 描述 |
---|---|---|
bzip2 | .bz2 | 采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码 |
gzip | .gz | 用来压缩文件;输出.gz |
gunzip | 用来解压文件 | |
gzcat | .gz | 用来查看压缩过的文本文件的内容 |
zip | .zip | Windows上PKZIP工具的Unix实现 |
zipinfo | ||
gzexe | ||
tar | .tar |
tar 归档数据
①、命令名称:tar
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:归档数据
⑥、语法:
tar function [options] object1 object2 ...
tar -zxvf xxx.tar
tar -zxvf xxx.tar.gz
首先,你可以用下列命令来创建一个归档文件:
tar -cvf test.tar test/ test2/
上面的命令创建了名为test.tar的归档文件,含有test和test2目录内容。接着,用下列命令:
tar -tf test.tar
列出tar文件test.tar的内容(但并不提取文件)。最后,用命令:
tar -xvf test.tar
磁盘管理
- df(英文全称:disk free):列出文件系统的整体磁盘使用量
- du(英文全称:disk used):检查磁盘空间使用量
- fdisk:用于磁盘分区
df 检查文件系统的磁盘空间占用情况
①、命令名称:df
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
⑥、语法:
df [-ahikHTm] [目录或文件名]
选项与参数:
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
实例 1
将系统内所有的文件系统列出来!
[root@admin home]# df
文件系统 1K-块 已用 可用 已用% 挂载点
devtmpfs 4049260 0 4049260 0% /dev
tmpfs 4062520 0 4062520 0% /dev/shm
tmpfs 4062520 9236 4053284 1% /run
tmpfs 4062520 0 4062520 0% /sys/fs/cgroup
/dev/mapper/centos-root 83845120 7093704 76751416 9% /
/dev/sda1 1038336 148440 889896 15% /boot
/dev/mapper/centos-home 95496644 975504 94521140 2% /home
tmpfs 812504 0 812504 0% /run/user/0
在 Linux 底下如果 df 没有加任何选项,那么默认会将系统内所有的 (不含特殊内存内的文件系统与 swap) 都以 1 Kbytes 的容量来列出来!
实例 2
将容量结果以易读的容量格式显示出来
[root@admin home]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 3.9G 0 3.9G 0% /dev
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 3.9G 9.1M 3.9G 1% /run
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 80G 6.8G 74G 9% /
/dev/sda1 1014M 145M 870M 15% /boot
/dev/mapper/centos-home 92G 953M 91G 2% /home
tmpfs 794M 0 794M 0% /run/user/0
实例 3
将系统内的所有特殊文件格式及名称都列出来
[root@admin home]# df -aT
文件系统 类型 1K-块 已用 可用 已用% 挂载点
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
devtmpfs devtmpfs 4049260 0 4049260 0% /dev
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 4062520 0 4062520 0% /dev/shm
devpts devpts 0 0 0 - /dev/pts
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore pstore 0 0 0 - /sys/fs/pstore
configfs configfs 0 0 0 - /sys/kernel/config
/dev/mapper/centos-root xfs 83845120 7093704 76751416 9% /
systemd-1 - - - - - /proc/sys/fs/binfmt_misc
debugfs debugfs 0 0 0 - /sys/kernel/debug
mqueue mqueue 0 0 0 - /dev/mqueue
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
fusectl fusectl 0 0 0 - /sys/fs/fuse/connections
/dev/sda1 xfs 1038336 148440 889896 15% /boot
/dev/mapper/centos-home xfs 95496644 975504 94521140 2% /home
sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
tmpfs tmpfs 812504 0 812504 0% /run/user/0
实例 4
将 /etc 底下的可用的磁盘容量以易读的容量格式显示
[root@admin home]# df -h /etc
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/centos-root 80G 6.8G 74G 9% /
du 查看使用空间
①、命令名称:du
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的,这里介绍 Linux du 命令。
⑥、语法:
du [-ahskm] 文件或目录名称
选项与参数:
- -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
- -h :以人们较易读的容量格式 (G/M) 显示;
- -s :列出总量而已,而不列出每个各别的目录占用容量;
- -S :不包括子目录下的总计,与 -s 有点差别。
- -k :以 KBytes 列出容量显示;
- -m :以 MBytes 列出容量显示;
实例 1
只列出当前目录下的所有文件夹容量(包括隐藏文件夹):
[root@admin home]# du
4 ./c <==每个目录都会列出来
942476 ./soft <==每个目录都会列出来
942480 . <==这个目录(.)所占用的总量
....中间省略....
12 ./.gconfd <==包括隐藏文件的目录
直接输入 du 没有加任何选项时,则 du 会分析当前所在目录里的子目录所占用的硬盘空间。
实例 2
将文件的容量也列出来
[root@admin ~]# du -a
4 ./.bash_logout
4 ./.bash_profile
4 ./.bashrc
4 ./.ssh/id_rsa
4 ./.ssh/id_rsa.pub
4 ./.ssh/known_hosts
12 ./.ssh
....中间省略....
8080 .
实例 3
检查根目录底下每个目录所占用的容量
[root@admin ~]# du -sm /*
0 /bin
113 /boot
0 /data
0 /dev
1 /dump.rdb
367 /etc
921 /home
0 /lib
0 /lib64
1 /main.log
0 /media
0 /mnt
0 /opt
du: 无法访问"/proc/14950": 没有那个文件或目录
du: 无法访问"/proc/14951/task/14951/fd/3": 没有那个文件或目录
du: 无法访问"/proc/14951/task/14951/fdinfo/3": 没有那个文件或目录
du: 无法访问"/proc/14951/fd/3": 没有那个文件或目录
du: 无法访问"/proc/14951/fdinfo/3": 没有那个文件或目录
0 /proc
8 /root
10 /run
0 /sbin
0 /srv
0 /sys
1 /tmp
4724 /usr
1725 /var
通配符 * 来代表每个目录。
与 df 不一样的是,du 这个命令其实会直接到文件系统内去搜寻所有的文件数据。
fdisk 磁盘分区表
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
fdisk 是 Linux 的磁盘分区表操作工具。
语法:
fdisk [-l] 装置名称
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l <磁盘> 列出分区表
fdisk -s <分区> 给出分区大小(块数)
选项:
-b <大小> 扇区大小(512、1024、2048或4096)
-c[=<模式>] 兼容模式:“dos”或“nondos”(默认)
-h 打印此帮助文本
-u[=<单位>] 显示单位:“cylinders”(柱面)或“sectors”(扇区,默认)
-v 打印程序版本
-C <数字> 指定柱面数
-H <数字> 指定磁头数
-S <数字> 指定每个磁道的扇区数
选项与参数:
- -l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时,则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
实例 1
列出所有分区信息
[root@admin ~]# fdisk -l
磁盘 /dev/sda:193.3 GB, 193273528320 字节,377487360 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000ab2a1
设备 Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 377487359 187694080 8e Linux LVM
磁盘 /dev/mapper/centos-root:85.9 GB, 85899345920 字节,167772160 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-swap:8455 MB, 8455716864 字节,16515072 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘 /dev/mapper/centos-home:97.8 GB, 97836335104 字节,191086592 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
实例 2
找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息
[root@admin ~]# df /
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 83845120 7093716 76751404 9% /
[root@admin ~]#
[root@admin ~]# fdisk /dev/mapper/centos-root
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x49e1bab1 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助): <==等待你的输入!
命令操作
命令(输入 m 获取帮助):m <== 输入 m 后,就会看到底下这些命令介绍
命令操作
a 切换可引导标志
b 编辑bsd磁盘标签
c 切换dos兼容性标志
d 删除分区
g 创建一个新的空GPT分区表
G 创建IRIX(SGI)分区表
l 已知分区类型列表
m 打印此菜单
n 添加新分区
o 创建一个新的空DOS分区表
p 打印分区表
q 退出而不保存更改
s 创建一个新的空Sun磁盘标签
t 更改分区的系统id
u 更改显示/输入单位
v 验证分区表
w 将表写入磁盘并退出
x 额外功能(仅限专家)
离开 fdisk 时按下 q
,那么所有的动作都不会生效!相反的, 按下w
就是动作生效的意思。
Command (m for help): p <== 这里可以输出目前磁盘的状态
Disk /dev/hdc: 41.1 GB, 41174138880 bytes <==这个磁盘的文件名与容量
255 heads, 63 sectors/track, 5005 cylinders <==磁头、扇区与磁柱大小
Units = cylinders of 16065 * 512 = 8225280 bytes <==每个磁柱的大小
Device Boot Start End Blocks Id System
/dev/hdc1 * 1 13 104391 83 Linux
/dev/hdc2 14 1288 10241437+ 83 Linux
/dev/hdc3 1289 1925 5116702+ 83 Linux
/dev/hdc4 1926 5005 24740100 5 Extended
/dev/hdc5 1926 2052 1020096 82 Linux swap / Solaris
# 装置文件名 启动区否 开始磁柱 结束磁柱 1K大小容量 磁盘分区槽内的系统
Command (m for help): q
想要不储存离开吗?按下 q 就对了!不要随便按 w 啊!
使用 p
可以列出目前这颗磁盘的分割表信息,这个信息的上半部在显示整体磁盘的状态。
mkfs 磁盘格式化
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs
(make filesystem) 命令。
语法:
mkfs [-t 文件系统格式] 装置文件名
mkfs [选项] [-t <类型>] [文件系统选项] <设备> [<大小>]
选项:
-t, --type=<类型> 文件系统类型;若不指定,将使用 ext2
fs-options 实际文件系统构建程序的参数
<设备> 要使用设备的路径
<大小> 要使用设备上的块数
-V, --verbose 解释正在进行的操作;
多次指定 -V 将导致空运行(dry-run)
-V, --version 显示版本信息并退出
将 -V 作为 --version 选项时必须是惟一选项
-h, --help 显示此帮助并退出
实例 1
查看 mkfs 支持的文件格式
[root@admin ~]# mkfs[tab][tab]
mkfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.msdos mkfs.vfat
按下两个[tab],会发现 mkfs 支持的文件格式如上所示。
实例 2
将分区 /dev/hdc6
(可指定你自己的分区) 格式化为 ext3
文件系统:
[root@admin ~]# mkfs -t ext3 /dev/hdc6
mke2fs 1.39 (29-May-2006)
Filesystem label= <==这里指的是分割槽的名称(label)
OS type: Linux
Block size=4096 (log=2) <==block 的大小配置为 4K
Fragment size=4096 (log=2)
251392 inodes, 502023 blocks <==由此配置决定的inode/block数量
25101 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=515899392
16 block groups
32768 blocks per group, 32768 fragments per group
15712 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Writing inode tables: done
Creating journal (8192 blocks): done <==有日志记录
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 34 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.
# 这样就创建起来我们所需要的 Ext3 文件系统了!简单明了!
fsck 磁盘检验
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
fsck(file system check)用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
语法:
fsck [-t 文件系统] [-ACay] 装置名称
选项与参数:
- -t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
- -s : 依序一个一个地执行 fsck 的指令来检查
- -A : 对/etc/fstab 中所有列出来的 分区(partition)做检查
- -C : 显示完整的检查进度
- -d : 打印出 e2fsck 的 debug 结果
- -p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
- -R : 同时有 -A 条件时,省略 / 不检查
- -V : 详细显示模式
- -a : 如果检查有错则自动修复
- -r : 如果检查有错则由使用者回答是否修复
- -y : 选项指定检测每个文件是自动输入yes,在不确定那些是不正常的时候,可以执行 # fsck -y 全部检查修复。
实例 1
查看系统有多少文件系统支持的 fsck 命令:
[root@admin ~]# fsck[tab][tab]
fsck fsck.cramfs fsck.ext2 fsck.ext3 fsck.msdos fsck.vfat
实例 2
强制检测 /dev/hdc6 分区:
[root@admin ~]# fsck -C -f -t ext3 /dev/hdc6
fsck 1.39 (29-May-2006)
e2fsck 1.39 (29-May-2006)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
vbird_logical: 11/251968 files (9.1% non-contiguous), 36926/1004046 blocks
如果没有加上 -f 的选项,则由于这个文件系统不曾出现问题,检查的经过非常快速!若加上 -f 强制检查,才会一项一项的显示过程。
mount 磁盘挂载与卸除
①、命令名称:
②、英文原意:
③、命令所在路径:
④、执行权限:所有用户
⑤、功能描述:
⑥、语法:
Linux 的磁盘挂载使用 mount
命令,卸载使用 umount
命令。
磁盘挂载语法:
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
mount [-lhV]
mount -a [选项]
mount [选项] [--source] <源> | [--target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]
- -a 挂载/etc/fstab文件中指定的所有文件系统
- -f 使 mount 命令模拟挂载设备,但并不真的挂载
- -F 和 -a 参数一起使用时,会同时挂载所有文件系统
- -v 详细模式,将会说明挂载设备的每一步
- -I 不启用任何/sbin/mount.filesystem下的文件系统帮助文件
- -l 给ext2、ext3或XFS文件系统自动添加文件系统标签
- -n 挂载设备,但不注册到/etc/mtab已挂载设备文件中
- -p num 进行加密挂载时,从文件描述符 num 中获得密码短语
- -s 忽略该文件系统不支持的挂载选项
- -r 将设备挂载为只读的
- -w 将设备挂载为可读写的(默认参数)
- -L label 将设备按指定的 label 挂载
- -U uuid 将设备按指定的 uuid 挂载
- -O 和 -a 参数一起使用,限制命令只作用到特定的一组文件系统上
- -o 给文件系统添加特定的选项
-o
参数允许在挂载文件系统时添加一些以逗号分隔的额外选项。以下为常用的选项。
- ro :以只读形式挂载。
- rw :以读写形式挂载。
- user :允许普通用户挂载文件系统。
- check=none :挂载文件系统时不进行完整性校验。
- loop :挂载一个文件。
mount 命令提供如下四部分信息:
- 媒体的设备文件名
- 媒体挂载到虚拟目录的挂载点
- 文件系统类型
- 已挂载媒体的访问状态
[root@admin home]# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=4049260k,nr_inodes=1012315,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面!
[root@admin ~]# mkdir /mnt/hdc6
[root@admin ~]# mount /dev/hdc6 /mnt/hdc6
[root@admin ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
.....中间省略.....
/dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
手动挂载媒体设备的基本命令
mount -t type device directory
手动将U盘/dev/sdb1挂载到/media/disk
mount -t vfat /dev/sdb1 /media/disk
磁盘卸载命令 umount
语法:
umount [-fn] 装置文件名或挂载点
选项与参数:
- -f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
- -n :不升级 /etc/mtab 情况下卸除。
卸载 /dev/hdc6
[root@admin ~]# umount /dev/hdc6
磁盘维护
网络通讯
设备管理
电子邮件与新闻组
其他命令
bc
tail
head
xargs
ip
nohub
killall
kill
pkill
启动 java 服务
nohub java -jar xxx.jar
sh start.sh start