目录
基本命令
man
find
date
cal
du
ln
exit
grep
基本命令-帮助查询:
wc
cat
more
less
head
tail
echo
alias
unalias
基本命令-进程管理:
ps
kill
top
操作系统负载查看
用户分类:
程序用户
普通用户:
超级管理员root:
基本命令-用户管理:
adduser
id
chown
chmod
权限设置:
课后习题:
基本命令
man
是Linux下的帮助指令,通过man指令可以查看
Linux中的指令帮助、配置文件帮助和编程帮助等信
息
man [选项] 命令名
选项:
-a:在所有的man帮助手册中搜索;
-f:等价于whatis指令,显示给定关键字的简短描述信
息;
案例:
man ls :通过man手册查看ls
man -f ls:简要的查看ls的作用
find
在指定目录下查找文件。任何位于参数之前的字符
串都将被视为欲查找的目录名。如果使用该命令时,
不设置任何参数,则find命令将在当前目录下查找
子目录与文件。并且将查找到的子目录和文件全部
进行显示。
find [查找的路径][选项] [参数]
选项:
-name:按名称查找
-iname: 忽略大小写
选项:
用双引号引起来
案例:
find . -name “*.txt”: 在当前文件夹下查找以.txt结尾的文件
find . -iname “AA”:忽略大小写查找AA文件
find
find [查找的路径][选项] [参数]
选项:
-type:文件分类超找
-maxdepth :从当前目录开始搜索的深度(也
就是子目录的嵌套)
参数:
f(表示普通文件),c, d, l, b ,s ,p 这些文件类
型
案例:
find . -type f 在当前文件夹下查找普通文件
find . -type d在当前目录下查找目录
date
打印不同格式的时间或日期,以及要根据时间和日
期执行操作,也可以使用命令设置固定的格式,在
类UNIX系统中,日期被存储为一个整数,1970年1
月1日0时0分0秒起流逝的秒数
date [选项] [参数]
选项:
-d<字符串>:显示字符串所指的日期与时间
。字符串前后必须加上双引号;
-s<字符串>:根据字符串来设置日期与时间
。字符串前后必须加上双引号;
-u:显示GMT(世界时间);
案例:
date +"%Y-%m-%d %H-%M-%S" 格式化显示时间
date 获取当前日期
cal
显示日历,可以按照指定的年份月份来显示,还可
以显示当年中的第几天
cal [选项] [月份] [年份]
选项:
-s: 显示星期天为一个星期的第一天,默认的
格式
-m: 显示星期一为一个星期的第一天
-j: 显示在当年中的第几天
案例:
cal 2022 显示22年日历
cal 8 2017 显示2017年8月的日历
cal -j 8 2017 显示8月的是当年的第几天
du
对文件和目录磁盘使用的空间的查看
du [选项] [参数]
选项:
-s 仅显示总计,只列出最后加总的值。
-h 以K,M,G为单位,提高信息的可读性。
参数:
目录或文件
案例:
du ./ 查看当前文件夹文件大小
du -h ./可以查看大小的单位
ln
ln命令用来为文件创件连接,连接类型分为硬连接
和符号连接两种,默认的连接类型是硬连接。如果
要创建符号连接必须使用"-s"选项。
ln [选项] [参数]
选项:
-s:创建软连接
参数:
源文件:指定要连接的文件
目标文件:指定源文件要连接的文件
案例:
ln -s kk /lnkk 将kk文件做一个软连接到 /lnkk
exit
退出shell,并返回给定值。在shell脚本中可以终止
当前脚本执行。
grep
是一种强大的文本搜索工具,它能使用正则表达式
搜索文本,并把匹配的行打印出来。
grep [选项] [参数]
选项:
-i 忽略字符大小写的差别。
-n 在显示符合范本样式的那一列之前,
标示出该列的编号。
-v 反转查找。
参数:
关键字:要超找的字符串
文件路径:要去哪个文件去超找
案例:
grep "text" /etc/passwd 输出包含匹配字符串
grep -n "text" /etc/passwd 输出包含匹配字符串加行号
grep -v "text" /etc/passwd 输出除之外的所有行(反向过滤)
基本命令-帮助查询:
wc
用来计算数字。利用wc指令我们可以计算文件的
Byte数、字数或是列数,若不指定文件名称,或是
所给予的文件名为“-”,则wc指令会从标准输入
设备读取数据。
wc [选项] [文件]
选项:
-c:只显示Bytes数;
-l:只显示列数;
-w:只显示字数。
案例:
wc -c 显示字符数
cat
用来显示文件的内容
cat [选项] [文件]
选项:
-n:有1开始对所有输出的行数编号;
-b:和-n相似,只不过对于空白行不编号;
案例:
cat xxx.txt 显示文本的内容直接输出在屏幕上
cat -n xxx.txt 在每一行前加行号
more
命令一次显示一屏文本,满屏后停下来,并且在屏
幕的底部出现一个提示信息,给出至今己显示的该
文件的百分比
more [文件]
操作
按Space键:显示文本的下一屏内容。
按Enier键:只显示文本的下一行内容。
按H键:显示帮助屏,该屏上有相关的帮助信
息。
按B键:显示上一屏内容。
按Q键:退出more命令;
less
用less命令显示文件时,用PageUp键向上翻页,用
PageDown键向下翻页。要退出less程序,应按Q
键。
less [参数] [文件]
参数
-e:文件内容显示完毕后,自动退出;
-N:每一行行首显示行号;
案例:
less /etc/passwd 查看大内存文件
head
于显示文件的开头的内容。在默认情况下,head
命令显示文件的头10行内容。
head [参数] [文件]
参数
-n:指定从头显示多少行;
head -2 /etc/passwd 查看头2行
tail
tail命令默认在屏幕上显示指定文件的末尾10行。
tail [参数] [文件]
参数
-n:指定从尾显示多少行;
-f:监控文件尾部插入的行
案例:
tail -3 /etc/passwd 查看尾3行
echo
在shell中打印shell变量的值,或者直接输出指定的
字符串
echo [参数]
参数:
要输出的值或字符串
案例:
echo hello world :控制台输出hello world
alias
使用该命令可以将一些较长的命令进行简化。使用
alias时,用户必须使用单引号''将原来的命令引起来,
防止特殊字符导致错误。
alias [选项] [参数]
选项:
-p:打印已经设置的命令别名。
参数:
alias 新的命令='原命令 -选项/参数'
案例:
alias -p 显示已有的别名
alias cc=‘ls -il’给ls -il 组合命令下·其别名
unalias
用来取消命令别名,是为shell内建命令。如果需要
取消任意一个命令别名,则使用该命令别名作为指
令的参数选项即可。
unalias [选项] [参数]
选项:
-a:取消所有命令别名。
参数:
命令别名:指定要取消的命令别名。
案例:
unalias lskk 取消lskk这个别名
基本命令-进程管理:
ps
用于报告当前系统的进程状态
ps [选项] [参数]
选项:
-a:显示所有用户的进程
-u:显示用户名和启动时间
-x:显示 没有控制终端的进程
-e:显示所有进程,包括没有控制终端的
进程
-l:长格式显示
案例:
ps 只显示隶属于自己的进程状态
ps -aux 显示所有进程
ps –aux | grep xxx 过滤出要查看的进程
kill
终止一个进程
kill [选项] [参数]
选项:
-1:重启进程
-9:强制杀死
参数:
pid进程编号
案例:
kill pid 杀死进程进程编号为pid的进程
kill -1 pid 重新启动pid的进程
kill -9 pid 强制杀死pid进程
top
进程状态显示和控制,每5s中自动刷新一次(动态显
示)
top [选项] [参数]
提示:
退出top按q
操作系统负载查看
uptime :命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、
目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载
free : 可以显示当前系统未使用的和已使用的内存数目,还可以显示被内核使用的内
存缓冲区
空闲内存:available = free + buffer(缓冲) + cache(缓存)
mpstat :CPU核状态
ifstat : 网卡网络状态
df :查看磁盘的使用率
用户分类:
程序用户
用户ID为:(0<user_id<1000)
普通权限,但没家目录,也
不能登录系统
普通用户:
用户ID为:(1000+)
普通权限,但可以登录系统
超级管理员root:
用户ID为: 0
在Linux中拥有任何权限
基本命令-用户管理:
adduser
用来新建用户,指定用户的家目录和组
adduser [参数]
[参数]:
用户名
案例;
adduser test01 添加用户test01
Useradd -g xixi xiaoqiang 添加xiaoqiang 到xixi 组
usermod -g xitian tangsan 修改tangsan 到xitian 组
id
id命令可以显示真实有效的用户ID(UID)和组ID(GID)
id [选项] [参数]
选项:
-g:显示用户所属群组的ID。
-u:显示用户ID。
参数:
用户名:要查看的用户名。
案例:
id -u 查看当前用户的用户id
id test 查看test的用户id组id
chown
令改变某个文件或目录的所有者和所属的
组,该命令可以向某个用户授权,使该用户变成指
定文件的所有者或者改变文件所属的组。
chown [选项] [参数]
选项:
-R:递归处理,将指定目录下的所有文件及
子目录一并处理。
参数:
所属用户:要改变的所属用户。
所属组:要改变的所属组。
案例:
chown sunwukong a1.txt 将a1文件的所属人改为sunwukong
chown :xitianqujing a1.txt 改变文件所属组为xitianqujing
chown tansan:root a.txt 改变文件的所属人和所属组为tansan和root
chown -R sunwukong:xitianqujing dir1
R:改变文件夹及其内部所有的所属人和所属组
chmod
用来变更文件或目录的权限。在Linux
系统家族里,文件或目录权限的控制分别以读取、
写入、执行3种一般权限来区分。
chmod [选项] [参数]
选项:
权限:权限值。
参数:
文件名:设置权限的文件名。
参数:
chmod u+x,g+w kk 文件kk设置权限
chmod u=rwx,g=rw,o=r kk 给kk文件设置权限
chmod 764 kk 文件kk设置权限
权限设置:
r=4 | w=2 | x=1 | -=0 |
r权限(表示可读权限) | w权限(有可写权限) | x权限(有可执行权限) | -占位(没有具备权限) |
u:rwx | g:rwx | o:rwx |
所属用户(所属用户拥有的权限) | 所属组(所属组拥有的权限) | 其他(既不是所属用户,又不是所属用户的其他用户所拥有的权限) |
软连接和硬连接的区别:
软连接(也称为符号链接或符号连接,Symbolic Link)和硬连接(Hard Link)是在文件系统中用于创建文件的不同链接方式,它们有以下主要区别:
1. 存储方式:
- 硬连接:与原始文件共享相同的 inode(索引节点),这意味着它们本质上指向相同的文件数据。
- 软连接:是一个独立的文件,其中包含了指向目标文件的路径。
2. 独立性:
- 硬连接:与原始文件是平等的关系,删除其中一个硬连接,不影响其他硬连接和原始文件的使用。
- 软连接:如果删除了原始文件,软连接将成为无效的链接,因为它指向的目标文件已不存在。
3. 跨文件系统:
- 硬连接:不能跨不同的文件系统创建。
- 软连接:可以跨文件系统创建。
4. 对文件删除的影响:
- 硬连接:只有当所有指向该文件的硬连接(包括原始文件)都被删除时,文件的数据才会真正被删除。
- 软连接:删除软连接本身,不会影响原始文件。
5. 指向对象:
- 硬连接:只能链接文件,不能链接目录。
- 软连接:可以链接文件和目录。
在实际应用中,根据具体的需求选择使用硬连接还是软连接。如果需要在同一文件系统中创建多个等效的文件访问路径,且不希望因为删除其中一个而影响其他的使用,可以使用硬连接;如果需要创建一个可以跨文件系统、更灵活的链接,或者链接目录,通常使用软连接。
课后习题:
1如何把/etc/man_db.conf移动到/root 下并改名为test.conf
mv /etc/man_db.conf /root/test.conf
2如何查看/etc所占的磁盘空间
du -sh /etc
3如何查看/etc/passwd的头3行 和 尾3行
头三行:head -3 /etc/passwd
尾三行:tail -3 /etc/passwd
4什么命令可以统计当前系统中一共有多少账户
cat /etc/passwd | wc -l
5说说这些特殊符号含义: \ > >> 2> 2>> .(点) ..(两个点) ~ * |
\:转义字符 撬棍
>:输出覆盖重定向
>>:输出追加重定向
- :错误覆盖输出重定向
2>>:错误追加重定向
.(点):当前目录 或 正则一个字符或用于生效
..(两个点):当前目录的上级目录
~:当前用户家目录
*:所有字符或任意字符
|:管道 或 正则表示或者
6入职新公司,老大让你在服务器上限制rm命令,当用户输入rm 命令时候提示”rm command is not allowed to use.” 请问实现的步骤是?
命令行测试 alias rm=’echo command is not allowd to us’
永久生效 写入/etc/profile
生效 source /etc/profile
7 描述buffer和cache的区别
写buffer 读cache
8 如何查看一个大文件的内容
less /etc/passwd
9 如何查看所有命令别名,并删除ll别名 ,然后恢复 ll 别名
查看所有别名:alias -p
删除别名:unalias ll
恢复别名:alias ll=’ls -l’
10 过滤出/etc/passwd 文件中所有能登录的用户。(nologin不能登录)并将能登录的用户信息存到/root/loginuser.txt文件中
grep -v '/sbin/nologin' /etc/passwd > /root/loginuser.txt
11、用 find命令查看当前目录下所有文件
find ./ -name “*.txt”
12、 用 find 命令查看当前目录下所有以“.c”为后缀的文件信息
find ./ -name “*.c”