目录
前言🥇
大家好,这是我首篇博客,内容是linux工作需用到的内容。在这里我给大家总结出来了,希望多支持支持,感谢
一.常用命令
date 显示日期
1.date --help命令显示
2.时间日期显示例:
//date +"%Y/%m/%d:以2021/04/02形式显示
date -d "2021-02-22" +"%Y-%m-%d %H:%M":%S":显示指定日期的详细时间
date -d "2021-02-22" +n month/days" +"%Y-%m-%d":显示n天/月后的日期//
pwd 显示当所在目录
-P :显示出确实的路径,而非使用连结 (link) 路径。
cd 切换当前路径
cal 显示日历
cal 日 月 年:显示任意时期日历
cal --help:cal使用帮助
-1, --one 只显示当前月份(默认)
-3, --three 显示上个月、当月和下个月
-s, --sunday 周日作为一周第一天
-m, --monday 周一用为一周第一天
-j, --julian 输出儒略日
-y, --year 输出整年
-V, --version 显示版本信息并退出
-h, --help 显示此帮助并退出
who 显示当前已经登录到系统的用户名
wc 用于统计给定文件的行数、字数、字符数
-l表示统计行数
-w表示统计单词树
-c表示统计字符数
uname 用于显示操作系统当前信息
clear 用于刷新屏幕
logout 注销登录信息
shutdown用于执行后关闭系统
shutdown -h/-s -n: n分钟/秒后自动关机
shutdown -c取消关机
halt,poweroff立即关机
history 看所有历史命令
文件查找
find在文件系 统中查找指定的文件
用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
-mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件
-amin n : 在过去 n 分钟内被读取过
-anewer file : 比文件 file 更晚被读取过的文件
-atime n : 在过去n天内被读取过的文件
-cmin n : 在过去 n 分钟内被修改过
-cnewer file :比文件 file 更新的文件
-ime n : 在过去n天内被修改过的文件
-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name
-ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
-size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。
-type c : 文件类型是 c 的文件。
which
which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
-n<文件名长度> 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p<文件名长度> 与-n参数相同,但此处的<文件名长度>包括了文件的路径。
-w 指定输出时栏位的宽度。
-V 显示版本信息
whereis
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是 帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
-b 只查找二进制文件。
-B<目录> 只在设置的目录下查找二进制文件。
-f 不显示文件名前的路径名称。
-m 只查找说明文件。
-M<目录> 只在设置的目录下查找说明文件。
-s 只查找原始代码文件。
-S<目录> 只在设置的目录下查找原始代码文件。
-u 查找不包含指定类型的文件。
cp复制文件和目录
-a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f: 为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i: 若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l: 进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r: 递归持续复制,用於目录的复制行为;(常用)
-s: 复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u:若 destination 比 source 旧才升级 destination !
mv 移动文件和目录,或修改名称
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
rm 可以删除一个目录中的一个或者多个文件或目录
-f :就是 force 强制的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除啊!最常用在目录的删除了!这是非常危险的选项!!!
ls 显示文件列表
- 第一列:共10位,第1位表示文档类型,d表示目录,-表示文件,l表示链接文件,d表示可随机存取的设备,如U盘等,c表示一次性读取设备,如鼠标、键盘等。后9位,依次对应三种身份所拥有的权限,身份顺序为:owner、group、others,权限顺序为:readable、writable、excutable。如:-r-xr-x---的含义为当前文档是一个文件,拥有者可读、可执行,同一个群组下的用户,可读、可执行,其他人没有任何权限。
- 第二列
\1. 表示链接数,表示有多少个文件链接到inode号码。
- 第三列
\2. 表示拥有者
- 第四列
\3. 表示所属群组
- 第五列
\4. 表示文档容量大小,单位字节
- 第六列
\5. 表示文档最后修改时间,注意不是文档的创建时间哦
- 第七列
\6. 表示文档名称。以点(.)开头的是隐藏文档
l -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
l -d :仅列出目录本身,而不是列出目录内的文件数据(常用)
l -l :长数据串列出,包含文件的属性与权限等等数据;(常用)
l -r :将文件以相反次序显示(原定依英文字母次序)
l -t :将文件依建立时间之先后次序列出
l -A :同 -a ,但不列出 "." (目前目录) 及 ".." (父目录)
l -F :在列出的文件名称后加一符号;例如可执行档则加 "*", 目录则加 "/"
l -R :若目录下有文件,则以下之文件亦皆依序列出
cd用来切换工作目录至指定目录
cd..反回上一级目录
bc 进入计算机、quit/ctrl+d退出
alias Linux alias命令用于设置指令的别名。
alias[别名]=[指令名称]
//永久设置别名,.设置永久别名:在配置文件/root/.bashrc中添加别名;
输入输出重定向:
>:将输出内容直接写入指定文件
>>:将输出内容附加在指定文件
natuilus 打开文件管理器
二.文件和目录处理
cat显示文件的内容
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
& :cat ..... & 挂后台运行
tac 与cat相反,从文件内容最后一行显示
nl 显示文件时,显示行号
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在 荧幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
more一页一页的显示文件内容
head显示文件的开头几行
-n :后面接数字,代表显示几行的意思
tail 显示文件和尾部几行
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
less运行时可以输入的命令有:
\1. 空白键 :向下翻动一页;
\2. [pagedown]:向下翻动一页;
\3. [pageup] :向上翻动一页;
\4. /字串 :向下搜寻『字串』的功能;
\5. ?字串 :向上搜寻『字串』的功能;
\6. n :重复前一个搜寻 (与 / 或 ? 有关!)
\7. N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
\8. q :离开 less 这个程序;
touch创建新的空文件,已存在是改变文件的创建日期
\1. a 改变档案的读取时间记录。
\2. m 改变档案的修改时间记录。
\3. c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
\4. f 不使用,是为了与其他 unix 系统的相容性而保留。
\5. r 使用参考档的时间记录,与 --file 的效果一样。
\6. d 设定时间与日期,可以使用各种不同的格式。\7. t 设定档案的时间记录,格式与 date 指令相同。
\8. --no-create 不会建立新档案。
\9. --help 列出指令格式。
\10. --version 列出版本讯息。
file 识别文件类型
grep 在指定文件中检索匹配关键字信息
sort 将文件进行排序
mkdir 用来创建目录
-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
-p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
rmdir 删除空目录
-p :连同上一级『空的』目录也一起删除
ln 创建链接文件
ln 参数[目标文件或目录]
-b 删除,覆盖以前建立的链接
-d 允许超级用户制作目录的硬链接
-f 强制执行
-i 交互模式,文件存在则提示用户是否覆盖
-n 把符号链接视为一般目录
-s 软链接(符号链接)
-v 显示详细的处理过程
tar 打包,文件格式是.tar
-c建立新的备份文件 -x从文件中还原文件
-f指定备份文件 -v打包时显示指令的执行过程
-z通过gzip命令处理备份文件
gzip 解压缩
语法
gzip -acdfhlLnNqrtvV-<压缩效率>[文件...] 或 gzip -acdfhlLnNqrtvV-<压缩效率>[目录]
-d解开压缩文件 -l列出压缩文件的相关信息
-r将指定目录下的所有文件及其子文件目录一并处理
-t测试压缩文件是否正确无误
-v显示指令执行过程
-q不显示警告信息
-n压缩文件时,不保存原来的文件名称及时间戳记。
-N或压缩文件时,保存原来的文件名称及时间戳记。
-L显示版本与版权信息。
chmod 文件权限修改命令
- u所有组
- g属组
- o其他用户
- a以上三种用户
- r可读
- w可写
- x可执行
符号
+ 添加某种权限
- 减去某种权限
= 赋予给定权限并取消原来的权限
chgrp 命令用于变更文件或目录的所属群组。
与chown命令不同,chgrp 允许普通用户改变文件所属的组,只要该用户是该组的一员。
用法:
chgrp -cfhRv--version[文件或目录...] 或 chgrp -cfhRv--reference=<参考文件或目录>[文件或目录...]
参数:
-c或--changes 效果类似"-v"参数,但仅回报更改的部分。
-f或--quiet或--silent 不显示错误信息。
-h或--no-dereference 只对符号连接的文件作修改,而不更动其他任何相关文件。
-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
-v或--verbose 显示指令执行过程。
--help 在线帮助。
--reference=<参考文件或目录> 把指定文件或目录的所属群组全部设成和参考文件或目录的所 属群组相同。
--version 显示版本信息。
chown 命令用于设置文件所有者和文件关联组的命令
chown 需要超级用户 root 的权限才能执行此命令
用法:
chown [-cfhvR] [--help] [--version] user[:group] file...
参数:
user : 新的文件拥有者的使用者 ID
group : 新的文件拥有者的使用者组(group)
-c : 显示更改的部分的信息
-f : 忽略错误信息
-h :修复符号链接
-v : 显示详细的处理信息
-R : 处理指定目录以及其子目录下的所有文件
--help : 显示辅助说明
--version : 显示版本
chattr 隐藏文件属性
- a:让文件或目录仅供附加用途。
- b:不更新文件或目录的最后存取时间。
- c:将文件或目录压缩后存放。
- d:将文件或目录排除在倾倒操作之外。
- i:不得任意更动文件或目录。
- s:保密性删除文件或目录。
- S:即时更新文件或目录。
- u:预防意外删除。
- t:让文件系统支持尾部合并
- x:直接访问压缩文件的内容
- A:不再修改这个文件或者目录的最后访问时间
- D:检查压缩文件中的错误
参数
-R 递归处理,将指定目录下的所有文件及子目录一并处理。
-v<版本编号> 设置文件或目录版本。
-V 显示指令执行过程。
+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。
三.用户与组管理命令
etc/passwd文件
每一行对应一个用户
内容解释:
用户名:口令:用户ID:组ID:注释性描述:主目录:登录shell
etc/shadow文件
每一行对应一个用户
内容解释:
用户名:口令:最近改密日期:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:保留
etc/group文件
每一行对应一个组
内容解释:
组名称:组密码:组ID:组用户列表
etc/gshadow文件
每一行对应一个组
内容解释:
组名称:组密码:组管理员账号:组用户列表
passwd修改密码
-l 锁定口令,即禁用账号。
-u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。
user
useradd增加一个新用户
参数说明:
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
userdel删除用户
usermod修改账号属性
group
1.groupadd添加用户组账号
-g GID 指定新用户组的组标识号(GID)。
-o 一般与-g选项同时使用,表示新用户组的GID可以与系统已有用户组的GID相同。
2.groupdel删除用户组
3.groupmod修改用户组属性
-g GID 为用户组指定新的组标识号。
-o 与-g选项同时使用,用户组的新GID可以与系统已有用户组的GID相同。
-n新用户组 将用户组的名字改为新名字
su切换当前用户
sudo允许其他用户以root身份来执行命令
四.进程管理命令
ps查看当前系统的进程状态
参数:
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义
-A 列出所有的进程
-w 显示加宽可以显示较多的资讯
-au 显示较详细的资讯
-aux 显示所有包含其他使用者的行程
au(x) 输出格式 :
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
USER: 行程拥有者
PID: pid
%CPU: 占用的 CPU 使用率
%MEM: 占用的记忆体使用率
VSZ: 占用的虚拟记忆体大小
RSS: 占用的记忆体大小
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
<: 高优先序的行程
N: 低优先序的行程
L: 有记忆体分页分配并锁在记忆体内 (实时系统或捱A I/O)
START: 行程开始时间
TIME: 执行的时间
COMMAND:所执行的指令
pstree 进程树命令
参数说明:
-a 显示该行程的完整指令及参数, 如果是被记忆体置换出去的行程则会加上括号
-c 如果有重覆的行程名, 则分开列出(预设值是会在前面加上 *)
top实时显示进程命令
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
参数说明:
d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称
S : 累积模式,会将己完成或消失的子进程 ( dead child process ) 的 CPU time 累积起来
s : 安全模式,将交谈式指令取消, 避免潜在的危机
i : 不显示任何闲置 (idle) 或无用 (zombie) 的进程
n : 更新的次数,完成后将会退出 top
b : 批次档模式,搭配 "n" 参数一起使用,可以用来将 top 的结果输出到档案内
nice ;renice 指定进程优先级命令
-n改变优先级
-g指定进程组ID
-p改变指定PID程序的优先权等级
-u指定开启进程的用户名
kill 进程终止命令
kill -s <信息名称或编号> 或 kill [-l <信息编号>]
参数说明:
-l <信息编号> 若不加<信息编号>选项,则 -l 参数会列出全部的信息名称。
-s <信息名称或编号> 指定要送出的信息。
[程序] [程序]可以是程序的PID或是PGID,也可以是工作编号。
使用 kill -l 命令列出所有可用信号。
最常用的信号是:
1 (HUP):重新加载进程。
9 (KILL):杀死一个进程。
15 (TERM):正常停止一个进程
jobs查看后台任务命令
计划任务命令后台运行:可使用 jobs -l 查看,也可使用 fg 将其移到前台运行。
at 用于在未来某一段时间执行某一个任务
at 选项 时间
- f指定包含具体指令的任务文件
- q指定新任务的队列名称
- l显示待执行任务的列表
- d删除指定的待执行任务
- m任务执行完成后向用户发送E-mail
crontab定时执行工具,使系统周期性执行某项任务
五.网络管理命令
ifconfig:配置和显示Linus内核中网络接口的网络参数
suroot :将普通用户$切换至超级用户#
hostname:显示或者设置主机名
netstat :显示Linux中网络状态信息
ping :测试与主机网络连通性
write :给其他用户发送实时消息
wall :以广播形式给所有用户发送实时消息
mesg: 设置是否接收来自其他用户的消息
mesg [y|n]
talk :此命令可以和其他用户聊天
talk 用户名
六.帮助命令
man
-a:在所有的man帮助手册中搜索
-p:指定内容时使用分页程序
-f:显示给定命令的简短描述信息
-m:指定man手册搜索的路径
--help
七.磁盘管理
stat :查看文件inode(索引节点)的信息
各字段含义如下:
1.文件的字节数
2.文件拥有者的 User ID
3.文件的 Group ID
4.文件的读、写、执行权限
5.文件的时间戳,共有三个:ctime 指 inode 上一次变动的时间,mtime 指文件内容上一次变动的时间,atime 指文件上一次打开的时间。
6.链接数,即有多少文件名指向这个 inode
7.文件数据 block 的位置
df(disk free) :用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
语法
df [选项]... [FILE]...
- 文件-a, --all 包含所有的具有 0 Blocks 的文件系统
- 文件--block-size={SIZE} 使用 {SIZE} 大小的 Blocks
- 文件-h, --human-readable 使用人类可读的格式(预设值是不加这个选项的...)
- 文件-H, --si 很像 -h, 但是用 1000 为单位而不是用 1024
- 文件-i, --inodes 列出 inode 资讯,不列出已使用 block
- 文件-k, --kilobytes 就像是 --block-size=1024
- 文件-l, --local 限制列出的文件结构
- 文件-m, --megabytes 就像 --block-size=1048576
- 文件--no-sync 取得资讯前不 sync (预设值)
- 文件-P, --portability 使用 POSIX 输出格式
- 文件--sync 在取得资讯前 sync
- 文件-t, --type=TYPE 限制列出文件系统的 TYPE
- 文件-T, --print-type 显示文件系统的形式
- 文件-x, --exclude-type=TYPE 限制列出文件系统不要显示 TYPE
- 文件-v (忽略)
- 文件--help 显示这个帮手并且离开
- 文件--version 输出版本资讯并且离开
du :用于显示目录或文件的大小。
语法
- -a或-all 显示目录中个别文件的大小。
- -b或-bytes 显示目录或文件大小时,以byte为单位。
- -c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
- -D或--dereference-args 显示指定符号连接的源文件大小。
- -h或--human-readable 以K,M,G为单位,提高信息的可读性。
- -H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
- -k或--kilobytes 以1024 bytes为单位。
- -l或--count-links 重复计算硬件连接的文件。
- -L或--dereference 显示选项中所指定符号连接的源文件大小。
- -m或--megabytes 以1MB为单位。
- -s或--summarize 仅显示总计。
- -S或--separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
- -x或--one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
- -X或--exclude-from= 在指定目录或文件。
- --exclude= 略过指定的目录或文件。
- --max-depth= 超过指定层数的目录后,予以忽略。
- --help 显示帮助。
fdisk :用于管理磁盘分区,创建和维护分区表的程序,它兼容 DOS 类型的分区表、BSD 或者 SUN 类型的磁盘列表。
必要参数:
- -l 列出所有分区表
- -u 与-l 搭配使用,显示分区数目
选择参数:
- -s 指定分区
- -v 版本信息
菜单操作说明
- m :显示菜单和帮助信息
- a :活动分区标记/引导分区
- d :删除分区
- l :显示分区类型
- n :新建分区
- p :显示分区信息
- q :退出不保存
- t :设置分区号
- v :进行分区检查
- w :保存修改
- x :扩展应用,高级功能
mount :用于挂载Linux系统外的文件。
参数说明:
- -V:显示程序版本
- -h:显示辅助讯息
- -v:显示较讯息,通常和 -f 用来除错。
- -a:将 /etc/fstab 中定义的所有档案系统挂上。
- -F:这个命令通常和 -a 一起使用,它会为每一个 mount 的动作产生一个行程负责执行。在系统需要挂上大量 NFS 档案系统时可以加快挂上的动作。
- -f:通常用在除错的用途。它会使 mount 并不执行实际挂上的动作,而是模拟整个挂上的过程。通常会和 -v 一起使用。
- -n:一般而言,mount 在挂上后会在 /etc/mtab 中写入一笔资料。但在系统中没有可写入档案系统存在的情况下可以用这个选项取消这个动作。
- -s-r:等于 -o ro
- -w:等于 -o rw
- -L:将含有特定标签的硬盘分割挂上。
- -U:将档案分割序号为 的档案系统挂下。-L 和 -U 必须在/proc/partition 这种档案存在时才有意义。
- -t:指定档案系统的型态,通常不必指定。mount 会自动选择正确的型态。
- -o async:打开非同步模式,所有的档案读写动作都会用非同步模式执行。
- -o sync:在同步模式下执行。
- -o atime、-o noatime:当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
- -o auto、-o noauto:打开/关闭自动挂上模式。
- -o defaults:使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
- -o dev、-o nodev-o exec、-o noexec:允许执行档被执行。
- -o suid、-o nosuid:允许执行档在 root 权限下执行。
- -o user、-o nouser:使用者可以执行 mount/umount 的动作。
- -o remount:将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
- -o ro:用唯读模式挂上。
- -o rw:用可读写模式挂上。
- -o loop=:使用 loop 模式用来将一个档案当成硬盘分割挂上系统。