骚操作
(curl wttr.in/hangzhou?lang=zh)
基本命令记录
环境 centos7.x 善用/usr/share/doc
运行下面命令需安装包 yum install redhat-lsb
[root@iZbp1g4ytp0whqz29e5dyfZ data]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch:cxx-4.1-amd64:cxx-4.1-noarch:desktop-4.1-amd64:desktop-4.1-noarch:languages-4.1-amd64:languages-4.1-noarch:printing-4.1-amd64:printing-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 8.3.2011
Release: 8.3.2011
Codename: n/a
帮助
date --help快捷帮助man datemanual操作说明
yum [option] [查询的工作项目] [相关参数] 安装软件组、全系统更新
Yum不仅能够提供在线自动升级,它还可以用于查询、软件组的安装、整体版本的升级等
option主要的参数,包括有:
- -y:当yum询问用户的意见时,主动回答yes而不需要由键盘输入
[查询的工作项目]:由于不同的使用条件,而有一些选择的项目,包括:
install指定安装的软件名称,所以后面需接软件名称update进行整体升级的行为:当然也可以接某个软件, 仅升级一个软件remove删除某个软件,后面需接软件名称search搜寻某个软件或者是重要关键字list列出目前yum所管理的所有的软件名称与版本,有点类似rpm -qainfo同上,不过有点类似rpm -qai的执行结果clean下载的文件被放到/var/cache/yum, 可使用clean将它移除(可清除的项目有packages | headersmetadataI cache 等)
查询的工作项目部分还可以具有整个组软件的安装方式,如下所示:
grouplist列出所有可使用的软件组,例如Development Tools 之类groupinfo后面接group name,则可了解该group内含的所有软件名groupinstall这个好用!可以安装整组的软件组, 相当的不错!groupremove删除某个软件组
yum实例
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# yum search nginx
Last metadata expiration check: 0:49:57 ago on Wed 07 Jul 2021 04:52:54 PM CST.
========================================================================================================= Name Exactly Matched: nginx ==========================================================================================================
nginx.x86_64 : A high performance web server and reverse proxy server
======================================================================================================== Name & Summary Matched: nginx =========================================================================================================
collectd-nginx.x86_64 : Nginx plugin for collectd
...
ls 文件与目录的查看 自行 ls --help
cp 复制 自行
cp [-adfilprsu] 源文件(source) 目标文件(destination)-a=-dr常用-d复制link 不复制文件本身-r递归复制-i覆盖提示-p备份常用 复制文件的权限 用户 时间cp -ai /data /data/test
rm 删除 自行 慎用
-f忽略不存在的文件-i询问是否操作-r递归删除rm -rf /
mv 移动
mv [-fiu] source destination-f直接覆盖 强制-i询问覆盖-u更新较新的
date 显示日期与时间
date +%Y/%m/%d 格式化日期
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# date
Thu Jun 24 09:21:43 CST 2021
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# date +%Y/%m/%d
2021/06/24
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# date +%H/%M
09/46
locale 显示支持的语系
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# locale
LANG=en_US.UTF-8 // 语言
LC_CTYPE="en_US.UTF-8" // 信息输出
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8" // 时间
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL= // 全部数据同步更新的值
LANG=en_US.utf8 设置语系
LANG只与输出信息有关,若要更改其它不同信息需要同步更新LC_ALL
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# LANG=en_US.utf8
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# export LC_ALL=en_US.utf8
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# locale
LANG=en_US.utf8
LC_ALL=en_US.utf8
cal 显示日历
语法
cal [month] [year]
cal 2021查看2021年cal 6 2021查看 2021年6月
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# cal
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# cal 6 2021
June 2021
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# cal 2021
2021
January February March
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 1 2 3 4 5 6 1 2 3 4 5 6
3 4 5 6 7 8 9 7 8 9 10 11 12 13 7 8 9 10 11 12 13
10 11 12 13 14 15 16 14 15 16 17 18 19 20 14 15 16 17 18 19 20
17 18 19 20 21 22 23 21 22 23 24 25 26 27 21 22 23 24 25 26 27
24 25 26 27 28 29 30 28 28 29 30 31
31
April May June
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 1 2 3 4 5
4 5 6 7 8 9 10 2 3 4 5 6 7 8 6 7 8 9 10 11 12
11 12 13 14 15 16 17 9 10 11 12 13 14 15 13 14 15 16 17 18 19
18 19 20 21 22 23 24 16 17 18 19 20 21 22 20 21 22 23 24 25 26
25 26 27 28 29 30 23 24 25 26 27 28 29 27 28 29 30
30 31
July August September
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 3 1 2 3 4 5 6 7 1 2 3 4
4 5 6 7 8 9 10 8 9 10 11 12 13 14 5 6 7 8 9 10 11
11 12 13 14 15 16 17 15 16 17 18 19 20 21 12 13 14 15 16 17 18
18 19 20 21 22 23 24 22 23 24 25 26 27 28 19 20 21 22 23 24 25
25 26 27 28 29 30 31 29 30 31 26 27 28 29 30
October November December
Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa
1 2 1 2 3 4 5 6 1 2 3 4
3 4 5 6 7 8 9 7 8 9 10 11 12 13 5 6 7 8 9 10 11
10 11 12 13 14 15 16 14 15 16 17 18 19 20 12 13 14 15 16 17 18
17 18 19 20 21 22 23 21 22 23 24 25 26 27 19 20 21 22 23 24 25
24 25 26 27 28 29 30 28 29 30 26 27 28 29 30 31
31
bc 计算器
+ - * /^指数%余数scale=3指定小数位数1/3 => .333quit退出
[root@iZbp1g4ytp0whqz29e5dyfZ dev]# bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2+5
7
8*8
64
man date 解析
man man可以直接查看详情说明DATE(1)1代表一般用户可以操作的命令或可执行文件 见下表1NAME命令全名SYNOPSIS基本用法DESCRIPTION详细说明ENVIRONMENT环境参数
其它man相关
man -f man与man相关的说明文件- 缩写
whatis[命令或文件] 依赖mandb
- 缩写
man 1 man为1的说明文件man 7 man为7的说明文件man -k man包含关键字- 缩写
apropos[命令或文件] 依赖mandb
- 缩写
表1
| 代号 | 代表内容 |
|---|---|
| 1 | 用户在shell环境中可以操作的命令或可执行文件 |
| 2 | 系统内核可调用的函数与工具等 |
| 3 | 常用函数(function)与库(library),大部分为C(libc) |
| 4 | 设备文件的说明,通常在/dev下 |
| 5 | 配置文件或某些文件格式 |
| 6 | 游戏 |
| 7 | 惯例与协议等,如文件系统、网络协议、ASCII的说明 |
| 8 | 系统管理员可用的管理命令 |
| 9 | 内核有关文件 |
DATE(1) User Commands DATE(1)
NAME
date - print or set the system date and time
SYNOPSIS
date [OPTION]... [+FORMAT]
date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
DESCRIPTION
Display the current time in the given FORMAT, or set the system date.
Mandatory arguments to long options are mandatory for short options too.
EXAMPLES
...
info page
以命令行模式显示的网页数据,/usr/share/info
info info
Next: Stand-alone Info, Up: (dir)
Stand-alone GNU Info
********************
本文档描述了您可以使用的独立信息阅读器用于阅读信息文档。
如果您不熟悉信息阅读器,则可以通过键入开始'H' 表示基本键绑定列表。你可以通读剩下的通过键入 <SPC> 和 <DEL>(或 <Space> 和 <Backspace>)来查看本手册在其中向前和向后移动。
* Menu:
* Stand-alone Info:: What is Info?
* Invoking Info:: Options you can pass on the command line.
* Cursor Commands:: Commands which move the cursor within a node.
* Scrolling Commands:: Commands for reading the text within a node.
* Node Commands:: Commands for selecting a new node.
* Searching Commands:: Commands for searching an Info file.
* Index Commands:: Commands for looking up in indices.
* Xref Commands:: Commands for selecting cross-references.
* Window Commands:: Commands which manipulate multiple windows.
* Printing Nodes:: How to print out the contents of a node.
* Miscellaneous Commands:: A few commands that defy categorization.
* Variables:: How to change the default behavior of Info.
* Colors and Styles:: Customize the colors used by Info.
* Custom Key Bindings:: How to define your own key-to-command bindings.
* Index:: Global index.
* 菜单:
* 独立信息::什么是信息?
* 调用 Info:: 您可以在命令行上传递的选项。
* 光标命令:: 在节点内移动光标的命令。
* 滚动命令:: 用于读取节点内文本的命令。
* 节点命令:: 用于选择新节点的命令。
* 搜索命令:: 用于搜索信息文件的命令。
* 索引命令:: 用于在索引中查找的命令。
* 外部参照命令:: 用于选择交叉参照的命令。
* 窗口命令:: 操作多个窗口的命令。
* 打印节点:: 如何打印出节点的内容。
* 杂项命令:一些无法分类的命令。
* 变量:: 如何更改信息的默认行为。
* 颜色和样式:: 自定义信息使用的颜色。
* 自定义键绑定:: 如何定义您自己的键到命令绑定。
* 索引::全局索引。
关机相关
sync将数据同步些人磁盘- 只有root账号才能更新整个系统中的数据,个人账号只能更新自己的数据
shutdown关机shotdown [-krhc] [时间] [警告信息]-k不关机,只发警告信息shutdown -k now '吓唬人的关机'-r在将系统服务停掉后,就重新启动(常用)shutdown -r nowshutdown -r +30 '30分钟后系统会重启'-h在将系统服务停掉后,就关机(常用)shutdown -h 20:22-c取消正在进行中的shotdown命令shutdown -h 10 '10分钟后关机'Shutdown scheduled for Thu 2021-06-24 14:08:01 CST, use 'shutdown -c' to cancel.- 若不加任何操作 系统将在1分钟后进行关机操作
reboot/halt/poweroff重新启动sync; sync; sync; reboothalt系统停止 屏幕可能保留停止的信息poweroff系统关机 屏幕空白
systemctl [halt/poweroff/reboot/suspend(休眠)]systemctl reboot重启
文件权限
/etc/passwd 系统账号
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# cat /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
...
/etc/shadow 个人密码
/etc/group 组名
-文件/d目录属性
| 权限 | 链接 | 拥有者 | 用户组 | 文件容量 | 修改日期 | 文件名 |
|---|---|---|---|---|---|---|
| -rw------- | 1 | root | root | 2342 | 2021-06-21 09:23:18.555835553 +0800 | .bash_history |
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# ls -al --full-time
total 32
dr-xr-x---. 6 root root 202 2021-06-21 09:23:18.555835553 +0800 .
dr-xr-xr-x. 18 root root 256 2021-06-17 16:31:20.732426568 +0800 ..
-rw------- 1 root root 2342 2021-06-24 13:09:28.756957281 +0800 .bash_history
-rw-r--r--. 1 root root 18 2019-05-11 23:33:50.000000000 +0800 .bash_logout
-rw-r--r--. 1 root root 176 2019-05-11 23:33:50.000000000 +0800 .bash_profile
-rw-r--r--. 1 root root 176 2019-05-11 23:33:50.000000000 +0800 .bashrc
drwx------ 3 root root 17 2021-04-20 12:12:10.957325030 +0800 .cache
-rw-r--r--. 1 root root 100 2019-05-11 23:33:50.000000000 +0800 .cshrc
drwxr-xr-x 2 root root 45 2021-06-17 16:31:27.522526144 +0800 .nvm
drwxr-xr-x 2 root root 22 2021-04-20 12:11:58.322875714 +0800 .pip
-rw-r--r-- 1 root root 206 2021-05-27 18:04:06.972567392 +0800 .pydistutils.cfg
drwx------ 2 root root 29 2021-04-20 12:18:16.779957288 +0800 .ssh
-rw-r--r--. 1 root root 129 2019-05-11 23:33:50.000000000 +0800 .tcshrc
-rw------- 1 root root 1510 2021-06-21 09:23:18.555835553 +0800 .viminfo
解释-rw-r--r--.
1号位文件类型-代表文件d代表目录l链接文件b周边设备c串行端口 如 鼠标键盘
234位文件拥有者权限567位用户组权限890位非本人且没有加入本用户组的其它账号的权限rforread读取wforwrite写入xforexecute执行- 若无权限 则显示
-
修改文件属性与权限 用户组 拥有者
chgrp修改用户组chgrp [-R] dirname/filename-R进行递归修改 目录下文件和文件夹都修改chgrp users test.txt- 例子见下方
code1chgrp users user.txt
chown修改拥有者chown [-R] 账号名称 dirname/filenamechown [-R] 账号名称:用户组名称 dirname/filename- 例子见下方
code2chown bin user.txt
chmod修改文件的权限- 数字类型修改权限
r:4 w:2 x:1chmod [-R] xyz dirname/filenam- 例子见下方
code3chmod 777 user.txt
- 符号类型修改权限
-
u:user g:group o:other a:all -
例子见下方
code4chmod u=rwx,go=rx user.txt -
+:加入 -:移除 =:设置 -
例子见下方
code5chmod a+w user.txt -
code5chmod a-x user.txt
-
- 数字类型修改权限
code1
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rw-r--r-- 1 root root 0 Jun 24 16:00 user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chgrp users user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rw-r--r-- 1 root users 0 Jun 24 16:00 user.txt
code2
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chown bin user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rw-r--r-- 1 bin users 0 Jun 24 16:00 user.txt
code3
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chmod 777 user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rwxrwxrwx 1 bin users 0 Jun 24 16:00 user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]#
code4
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chmod u=rwx,go=rx user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rwxr-xr-x 1 bin users 0 Jun 24 16:00 user.txt
code5
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chmod a+w user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
-rwxrwxrwx 1 bin users 0 Jun 24 16:00 user.txt
文件权限完整示例
[root@iZbp1g4ytp0whqz29e5dyfZ data]# mkdir testing
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
drwxr-xr-x 2 root root 6 Jun 24 16:47 testing
-rwxrwxrwx 1 bin users 0 Jun 24 16:00 user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chmod 744 testing/
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ll
total 0
drwxr--r-- 2 root root 6 Jun 24 16:47 testing
-rwxrwxrwx 1 bin users 0 Jun 24 16:00 user.txt
[root@iZbp1g4ytp0whqz29e5dyfZ data]# touch testing/testing
[root@iZbp1g4ytp0whqz29e5dyfZ data]# chmod 600 testing/testing
[root@iZbp1g4ytp0whqz29e5dyfZ data]# ls -ald testing/ testing/testing
drwxr--r-- 2 root root 21 Jun 24 16:49 testing/
-rw------- 1 root root 0 Jun 24 16:49 testing/testing
文件与目录管理
目录基础
.此层目录..代表上一层目录-代表前一个工作目录~代表当前用户的主目录~account代表次账号的用户主目录cd切换目录pwd显示当前目录pwd -P显示真正的路径 而非link
mkdir建立新目录mkdir [-mp] 目录名称- -m 设置文件权限
- -p 递归创建目录
mkdir test1/test2/test3报错 需加-pmkdir -m 711 test2指定权限并建立文件夹
rmdir删除一个空目录rmdir -P 目录名称递归删除ls -ld test*查看目录数量
执行文件路径的变量
添加变量
PATH="${PATH}:/root/.nvm/versions/node/v14.15.0/bin:"
[root@iZbp1g4ytp0whqz29e5dyfZ data]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
修改PATH
export PATH=/usr/local/mongodb/bin:$PATH
| 修改方法 | 生效方法 | 有效期限 | 用户局限 |
|---|---|---|---|
| 终端中修改 | 立即生效 | 当前的终端窗口 | 当前用户 |
| 修改.bashrc | source ~/.bashrc/重进 | 永久有效 | 仅对当前用户 |
| 修改profile | 系统重启/source /etc/profile/重进 | 永久有效 | 所有用户 |
| 修改environment | 系统重启 | 永久有效 | 所有用户 |
终端中修改PATH
输入 export PATH=/root/.nvm/versions/node/v14.15.0/bin:$PATH
export PATH=/root/.nvm/versions/node/v14.15.0/bin/node:$PATH
修改.bashrc
vim ~/.bashrc
在最后一行添上:export PATH=/root/.nvm/versions/node/v14.15.0/bin:$PATH
修改profile
vim /etc/profile
/export PATH //找到设置PATH的行
添加export PATH=/usr/local/mongodb/bin:$PATH
通过修改environment文件
vim /etc/environment
在PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"中加入:/usr/local/mongodb/bin
常用的环境变量
PATH决定了shell将到哪些目录中寻找命令或程序HOME当前用户主目录HISTSIZE历史记录数LOGNAME当前用户的登录名HOSTNAME指主机的名称SHELL当前用户Shell类型LANGUGE语言相关的环境变量,多语言可以修改此环境变量MAIL当前用户的邮件存放目录PS1基本提示符,对于root用户是#,对于普通用户是$
cat/more/less文件内容查看
cat由第一行开始显示 直接查看一个文件的内容可以使用- cat [-AbEnTv]
- 相当于-vET的整合选项,可列出一 些特殊字符而不是空白而已;
- -b 列出行号,仅针对非空白行做行号显示,空白行不标行号;
- -E 将结尾的换行符$显示出来;
- -n 打印出行号,连同空白行也会有行号,与-b的选项不同;
- -T 将[tab]按键以^I 显示出来;
- -v :列出一些看不出来的特殊字符;
- cat -n /etc/issue
tac从最后-行开始显示, 可以看出tac是cat 的倒着写。nl [-bnw] 文件显示的时候,同时输出行号。more一页一页地显示文件内容。less与more类似,但是比more更好的是,它可以往前翻页。head只看前面几行。tail [-n number]只看后面几行。- -n 10 代表几行
- -f 持续刷新后面文件中的内容
- tail -n 20 /var/log/message
- tail -f 20 /var/log/message
od以二进制的方式读取文件内容。
取11-20行 head -n 20 /etc/man_db.conf | tail -n 10
取11-20行 加行号 cat -n /etc/man_db.conf | head -n 20 | tail -n 10
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# cat -n /etc/man_db.conf | head -n 20 | tail -n 10
11 # --------------------------------------------------------
12 # MANDATORY_MANPATH manpath_element
13 # MANPATH_MAP path_element manpath_element
14 # MANDB_MAP global_manpath [relative_catpath]
15 #---------------------------------------------------------
16 # every automatically generated MANPATH includes these fields
17 #
18
#MANDATORY_MANPATH /usr/src/pvm3/man
19 #
20 MANDATORY_MANPATH /usr/man
文件默认权限 umask [-S]
文件隐藏属性 chattr [+-=] [ASacdistu] 文件或目录
- chattr [+-=] [ASacdistu] 文件或目录
- lsattr [-adR] 文件或目录
文件特殊权限:SUID SGID SBIT
太多啦。。暂略 要想看留言
观察文件类型:file
[admin@jw-test ~]$ file ~/.bashrc
/home/admin/.bashrc: ASCII text
命令与文件查找
which [-a] command 查找执行文件
[admin@jw-test ~]$ which -a node
/usr/bin/node
[admin@jw-test ~]$ which node
/usr/bin/node
[admin@jw-test ~]$ which ifconfig
/usr/sbin/ifconfig
[admin@jw-test ~]$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/alias
/usr/bin/which
[admin@jw-test ~]$ which history // history 是bash内置命令 所以找不到
/usr/bin/which: no history in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/admin/.local/bin:/home/admin/bin)
文件查找 whereis [-nmsu] 文件或目录
[admin@jw-test ~]$ whereis ifconfig
ifconfig: /usr/sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
[admin@jw-test ~]$ whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz
locate [-iclSr] keyword
[admin@jw-test ~]$ locate nginx.conf
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
每天更新一次自己的数据库 有时候会查不到,手动更新
updatedb
find [PATH] [option] [action]
- atime n : 在过去n天内被读取过的文件
- cmin n : 在过去 n 分钟内被修改过
- cnewer file :比文件 file 更新的文件
- ctime n : 在过去n天内被修改过的文件
- mtime [num+-]
+4五天前-4小于等于4天44-5 那一天
- ...
文件系统的简单操作
df [-ahikHTm] [目录或文件名] 列出文件系统的整体磁盘使用量
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。
- -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
- -k :以 KBytes 的容量显示各文件系统;
- -m :以 MBytes 的容量显示各文件系统;
- -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
- -H :以 M=1000K 取代 M=1024K 的进位方式;
- -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
- -i :不用硬盘容量,而以 inode 的数量来显示
[admin@jw-test /]$ df 将系统内所有的文件系统列出来!
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 7768864 0 7768864 0% /dev
tmpfs 7779208 0 7779208 0% /dev/shm
tmpfs 7779208 1264 7777944 1% /run
tmpfs 7779208 0 7779208 0% /sys/fs/cgroup
/dev/vda1 103080204 74690584 23969392 76% /
tmpfs 1555844 0 1555844 0% /run/user/0
tmpfs 1555844 0 1555844 0% /run/user/1000
[admin@jw-test /]$ df -h 将容量结果以易读的容量格式显示出来
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.5G 0 7.5G 0% /dev/shm
tmpfs 7.5G 1.3M 7.5G 1% /run
tmpfs 7.5G 0 7.5G 0% /sys/fs/cgroup
/dev/vda1 99G 72G 23G 76% /
tmpfs 1.5G 0 1.5G 0% /run/user/0
tmpfs 1.5G 0 1.5G 0% /run/user/1000
[admin@jw-test /]$ df -aT 将系统内的所有特殊文件格式及名称都列出来
Filesystem Type 1K-blocks Used Available Use% Mounted on
sysfs sysfs 0 0 0 - /sys
proc proc 0 0 0 - /proc
devtmpfs devtmpfs 7768864 0 7768864 0% /dev
securityfs securityfs 0 0 0 - /sys/kernel/security
tmpfs tmpfs 7779208 0 7779208 0% /dev/shm
devpts devpts 0 0 0 - /dev/pts
tmpfs tmpfs 7779208 1264 7777944 1% /run
tmpfs tmpfs 7779208 0 7779208 0% /sys/fs/cgroup
cgroup cgroup 0 0 0 - /sys/fs/cgroup/systemd
pstore pstore 0 0 0 - /sys/fs/pstore
cgroup cgroup 0 0 0 - /sys/fs/cgroup/net_cls,net_prio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpu,cpuacct
cgroup cgroup 0 0 0 - /sys/fs/cgroup/hugetlb
cgroup cgroup 0 0 0 - /sys/fs/cgroup/pids
cgroup cgroup 0 0 0 - /sys/fs/cgroup/blkio
cgroup cgroup 0 0 0 - /sys/fs/cgroup/perf_event
cgroup cgroup 0 0 0 - /sys/fs/cgroup/memory
cgroup cgroup 0 0 0 - /sys/fs/cgroup/freezer
cgroup cgroup 0 0 0 - /sys/fs/cgroup/devices
cgroup cgroup 0 0 0 - /sys/fs/cgroup/cpuset
configfs configfs 0 0 0 - /sys/kernel/config
/dev/vda1 ext4 103080204 74690852 23969124 76% /
systemd-1 - - - - - /proc/sys/fs/binfmt_misc
mqueue mqueue 0 0 0 - /dev/mqueue
hugetlbfs hugetlbfs 0 0 0 - /dev/hugepages
debugfs debugfs 0 0 0 - /sys/kernel/debug
tmpfs tmpfs 1555844 0 1555844 0% /run/user/0
tmpfs tmpfs 1555844 0 1555844 0% /run/user/1000
sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
nfsd nfsd 0 0 0 - /proc/fs/nfsd
binfmt_misc binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
[admin@jw-test /]$ df -h /home/
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 99G 72G 23G 76% /
du:检查磁盘空间使用量
fdisk:用于磁盘分区
过去24小时修改过的
[admin@jw-test ~]$ find / -mtime 0
/tmp
/tmp/tomcat-docbase.3093306490971783601.9107
/tmp/yum_save_tx.2021-06-29.15-07.bLToON.yumtx
/tmp/ssh-hGNomDUh7i
/tmp/ssh-hGNomDUh7i/agent.13153
对比两个文件的新旧
[admin@jw-test ~]$ find /data/nodesh/ypt-admin-nuxt/ypt-admin-nuxt-v2.zip /data/nodesh/cloud_platform_admin/cloud_platform_admin.zip
/data/nodesh/ypt-admin-nuxt/ypt-admin-nuxt-v2.zip
/data/nodesh/cloud_platform_admin/cloud_platform_admin.zip
chown admin:admin -R ./cloud_platform_admin/
touch [-acdmt] 新建文件
非纯文本文件 od
- -t 接类型
- a 以默认字符输出
- c 以ASCII字符输出
- d 十进制
- f 浮点数
- o 八进制
- x 十六进制
[admin@jw-test data]$ od -t c /usr/bin/passwd
0000000 177 E L F 002 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0
在js中 '2' > '11' // true, 可以通过liunx来查看'2'的ASCII大于'11'的ASCII
[admin@jw-test .pm2]$ node
Welcome to Node.js v16.4.0.
Type ".help" for more information.
> '1'>'11'
false
> '2'>'11'
true
>
(To exit, press Ctrl+C again or Ctrl+D or type .exit)
>
[admin@jw-test .pm2]$ echo '2' | od -t oCc
0000000 062 012
2 \n
0000002
[admin@jw-test .pm2]$ echo '11' | od -t oCc
0000000 061 061 012
1 1 \n
0000003
示例
复制文件给其他用户
- 复制文件
cp ~/.bashrc ~admin/bashrc - 修改权限
chowm admin:admin ~admin/bashrc
建立目录,给admin账号管理,其他人不能修改 drwxr-xr-x
- 建立目录:
mkdir /data/admin - 修改属性:
chown -R admin:admin /data/admin - 修改权限:
chmod -R 755 /data/admin
netstat 查看本机和网络连接的后门
- netstat
[rn]与路由有关 - netstat
[antulpc]与网络接口有关的参数
列出路由表状态
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 1.1.1.253 0.0.0.0 UG 0 0 0 eth0
1.1.1.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0
列出当前的所有网络连接
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN
...
unix 3 [ ] STREAM CONNECTED 21941 /run/dbus/system_bus_socket
unix 3 [ ] STREAM CONNECTED 21839
unix 2 [ ] DGRAM 19596
unix 2 [ ] STREAM CONNECTED 10886707
unix 2 [ ] STREAM CONNECTED 10886752
unix 3 [ ] STREAM CONNECTED 226275
Active Bluetooth connections (servers and established)
Proto Destination Source State PSM DCID SCID IMTU OMTU Security
Proto Destination Source State Channel
列出当前已经启动的网络服务
[root@iZbp1g4ytp0whqz29e5dyfZ ~]# 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:80 0.0.0.0:* LISTEN 33822/nginx: master
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 694897/sshd
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 39208/src/redis-ser
tcp6 0 0 :::80 :::* LISTEN 33822/nginx: master
tcp6 0 0 :::33060 :::* LISTEN 31374/mysqld
tcp6 0 0 :::3306 :::* LISTEN 31374/mysqld
tcp6 0 0 :::6379 :::* LISTEN 39208/src/redis-ser
udp 0 0 127.0.0.1:323 0.0.0.0:* 694929/chronyd
udp6 0 0 ::1:323 :::* 694929/chronyd
服务名称与port Number对应关系是哪个文件来设置的?
/etc/services
文字接口下载器wget
- wget [option] [网址]
vim /etc/wgetrc设置代理
SSH 文字接口连接服务器
- 启动SSH服务 /etc/init.d/sshd restart
- netstat -tlnp | grep ssh
- 登录远程主机 ssh admin@1.1.1.1 -p 22
- 待续
SFTP 模拟FTP的文件传输方式
- sftp admin@1.1.1.1
实例操作
使用用户admin把本机的/etc/hosts上传到admin用户目录 并将.bashrc复制到本地的/tmp目录
sftp> sftp admin@1.1.1.1 // 登录
sftp> put /etc/hosts // 上传
sftp> get .bashrc // 下载
sftp> exit // 退出
SCP 文件异地直接复制
- scp [-pr] [-l 速率] file [账号@]主机:目录名 // 上传
- scp [-pr] [-l 速率] [账号@]主机:file 目录名 // 下载
其它暂存
[root@iZbp1he26e8gmdfzc9162rZ logs]# ps -ef | grep 9452
root 9452 24517 0 11:03 ? 00:00:00 node /data/nodesh/ypt-public-nuxt-express/src/index.js
root 10145 22214 0 11:04 pts/4 00:00:00 grep --color=auto 9452
// PID 9452
[root@iZbp1he26e8gmdfzc9162rZ logs]# ps -x | grep 9452
9452 ? Ssl 0:00 node /data/nodesh/ypt-public-nuxt-express/src/index.js
// PID 10938
[root@iZbp1he26e8gmdfzc9162rZ logs]# netstat -anp | grep 3000
tcp6 0 0 :::3000 :::* LISTEN 10938/node /data/no
// PID 10938
[root@iZbp1he26e8gmdfzc9162rZ logs]# ps aux | grep node
root 10938 0.4 0.1 632944 27568 ? Ssl 11:06 0:00 node /data/nodesh/ypt-public-nuxt-express/src/index.js
root 11577 0.0 0.0 112808 968 pts/4 S+ 11:07 0:00 grep --color=auto node
root 12378 0.1 0.1 625304 22632 ? Ssl 10:17 0:03 node /data/nodesh/ypt-admin-nuxt/start.js
root 12390 0.1 0.1 625092 22580 ? Ssl 10:17 0:04 node /data/nodesh/ypt-admin-nuxt-2/start.js
root 12455 0.0 0.6 994372 105772 ? Sl 10:17 0:02 node /data/nodesh/ypt-admin-nuxt/node_modules/.bin/nuxt start
root 12462 0.0 0.5 966500 80468 ? Sl 10:17 0:02 node /data/nodesh/ypt-admin-nuxt-2/node_modules/.bin/nuxt start
[root@iZbp1he26e8gmdfzc9162rZ logs]# ps aux | grep pm2
admin 1452 0.0 0.2 910340 34560 ? Ssl May26 6:21 PM2 v4.5.6: God Daemon (/home/admin/.pm2)
root 3949 0.0 0.2 840644 42532 ? Ssl May06 0:19 PM2 v4.5.6: God Daemon (/root/.pm2)
root 5954 0.0 0.1 632736 28248 ? Ssl 10:33 0:00 PM2 v4.5.6: God Daemon (/root/.pm2)
dev 9070 0.0 0.2 828044 36464 ? Ssl 2020 12:55 PM2 v4.4.1: God Daemon (/home/dev/.pm2)
root 11976 0.0 0.0 112812 968 pts/4 S+ 11:08 0:00 grep --color=auto pm2
root 24517 0.0 0.2 910804 40004 ? Ssl May26 17:32 PM2 v4.5.6: God Daemon (/root/.pm2)
dev 26431 4.9 13.8 2976332 2222308 ? Ssl May06 3529:07 PM2 v4.5.6: God Daemon (/home/dev/.pm2)
未完待续
文章跟随我读书的进度持续更新