1)Linux系统辨别目录与文件的方法
通过不同颜色区分文件类型
- 蓝色表示目录
- 白色表示文件
- 浅蓝色表示软链接文件(也就是Windows中的快捷方式)
- 绿色表示可执行文件
- 红色表示压缩文件
- 黄色表示设备文件
- 红色闪烁文件表示当前链接文件不可用
2)常用命令
常用快捷键
- ctrl + c 取消当前执行的命令
- ctrl + L 清屏
- Esc + . 调出上一条命令的最后一个参数
3)head命令
- 默认查看文件中前十行的内容
head /etc/passwd
- -n指定显示的行数
head -n 5 /etc/passwd
4)tail命令
- 默认查看文件末尾的后10行内容
tail /etc/passwd
- -n指定显示的行数
- -f实时输出新增数据
tail -n 11 log|cat -n
tail -f log|cat -n
5)相对路径和绝对路径的区别
1.绝对路径:从根目录开始的完整路径。例如,/home/user/documents/file.txt是一个绝对路径。
2.相对路径:相对于当前工作目录的路径。例如,如果当前工作目录是/home/user/documents,则file.txt相对于该目录的路径为documents/file.txt。
需要注意的是,Linux中的路径分隔符是斜杠(/)。
6)软硬链接的区别
硬链接的文件可以实现同步更新,软链接不会。
软链接可以跨分区,可以对目录进行链接,源文件删除后,链接文件不可用
ln -s 源文件路径 目标路径
硬链接不可以跨分区,不可以对目录进行链接,源文件删除后,链接文件仍然可用
#硬链接的文件可以实现同步更新,并且保持属性不变
ln 源文件路径 目标路径
7)hash缓存表
当系统命令移动了位置时,清空hash缓存表可以刷新命令文件位置
hash #查看hash缓存表
hash -r #清空hash缓存表
8)type命令
- 显示当前可执行命令的解释器位置
- 用法:type ls
-a:显示所有关联的类型,包括别名和函数。
-t:仅显示类型名称,而不包括路径或参数。
-p:显示命令或函数的完整路径。
-f:显示函数参数的类型。
-u:显示未定义的函数或命令的类型。
-r:递归地查找类型定义。
9)which命令
查找可执行程序文件存放的位置
which ls
10)Linux系统的运行级别
在liuux系统有7个运行级别,不同的运行级别运行的程序和功能都不一样,而linux默认是运行在一个标准的级别上。系统运行级别文件/etc/inittab文件
- 运行级别
0:关机
1:单用户模式(只有root用户可以登录进行 系统维护,并且系统里所有服务都不会启动)
2:多用户模式
3:完全多用户模式,标准的运行级别
4:一种没有被使用的模式,它没有特定的用途
5:带GUI图形化界面,标准运行级别
6:重启
- 查看当前系统的运行级别
runlevel
#N 代表没有从任何级别跳转过来
- 修改系统默认运行级别
systemctl set-default runlevel3.target
11)常用关机命令
halt 立即关机
poweroff 立即关机
shutdown -h now 立即关机
shutdown -h 10 10分钟后关机
12)常用重启命令
reboot 立即重启
shutdown -r now 立即重启
shutdown -r 10 10分钟后重启
13)alias别名管理命令
- 用于设置命令别名,用户可以使用alias自定义命令别名来简化命令的复杂度
alias [-p] [name[=value] ...]:这是最常用的选项,可以设置一个或多个别名,或者显示已设置的别名。如果直接输入alias,会列出当前系统中所有已经定义的别名。-p选项可以显示全部已定义的别名。
alias [-p] name[=value]:该选项用于定义或修改一个别名。value是别名对应的值,可以为任何有效的命令或参数。
alias -d name[=value]:该选项用于删除一个别名。如果要删除一个别名,可以使用 unalias 命令,如 unalias name。
- 给ls查看网卡文件的命令设置一个别名eth,当执行eth时就会执行ls的命令
alias eth='ls /etc/NetworkManager/system-connections/'
- 取消别名
unalias eth
- 永久定义别名
在家目录下的.bashrc文件中添加要修改的别名即可永久生效。
vim ~/.bashrc
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
14)history历史命令管理
- 用于显示执行过的历史命令,当退出当前shell时会自动保存历史命令到~/.bash_history文件内。
- 常用参数
-a 立刻追加当前缓存的历史命令到~/.bash_history文件内
-d 删除指定的历史命令
-c 清空历史命令列表
!10 调用历史命令中第x条命令
!ip 调用ip开头的命令(只调用最新的记录)
!! 重复执行上一条命令
- 修改历史命令记录数量(默认记录1000条,可根据自己需要修改)
vim /etc/profile
15)Date命令
- 显示系统时间(年,月,日,时,分,秒)
- 常用参数
date +%F
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %+4Y-%m-%d
%g ISO-8601 格式年份的最后两位(参见 %G)
%G ISO-8601 格式年份(参见 %V),一般只和 %V 结合使用
%h 等于%b
%H 小时(00-23)
%I 小时(00-12)
%j 按年计的日期(001-366)
%k 小时,空格补充空白位( 0..23);与 %_H 相同
%l 小时,空格补充空白位( 1..12);与 %_I 相同
%m 月份(01..12)
%M 分钟(00..59)
%n 换行
%N 纳秒(000000000..999999999)
%p 当前地区时间设置中 AM 或 PM 的等效值(“上午”或“下午”),未知则为空
%P 类似 %p,但使用小写
%q 一年中的季度(1..4)
%r 当前地区时间中十二小时制钟表时间(例如,下午 11时11分04秒)
%R 24 小时制的时间和分钟;和 %H:%M 相同
%s 1970-01-01 00:00:00 UTC 以来的秒数
%S 秒(00-60)
%t 输出制表符 Tab
%T 时间,等于%H:%M:%S
%u 星期,1 代表星期一
%U 一年中的第几周,以周日为每星期第一天(00-53)
%V ISO-8601 格式规范下的一年中第几周,以周一为每星期第一天(01-53)
%w 一星期中的第几日(0-6),0 代表周一
%W 一年中的第几周,以周一为每星期第一天(00-53)
%x 当前locale 下的日期描述 (如:12/31/99)
%X 当前locale 下的时间描述 (如:23:13:48)
%y 年份最后两位数位 (00-99)
%Y 年份
16)useradd
- 创建用户
- 常用选项
-u 指定UID
-d 指定家目录
-c 指定用户的描述信息
-G 指定附加组
-g 指定用户基本组
-s 指定用户的shell
#禁止用户登录系统:usermod -s /sbin/nologin user
17)passwd设置用户密码
- 常用选项
-S 查看密码信息
-l 锁定用户密码
-u 解锁用户密码
-d 删除密码
--stdin 通过管道方式设置用户密码
#echo 密码|passwd --stdin 用户名
18)chage命令
- 用于设置用户密码过期时间
- 常用参数
[root@server ~]# chage -h
用法:chage [选项] 登录名
选项:
-d, 将最近一次密码设置时间设为“最近日期”
-E, 将帐户过期时间设为“过期日期”
-I, 过期 INACTIVE 天数后,设定密码为失效状态
-l, 显示帐户年龄信息
-m, 将两次改变密码之间相距的最小天数设为“最小天数”
-M, 设置密码更改前的最大天数
-W, --warndays 警告天数 将过期警告天数设为“警告天数”
19)chmod权限管理
- 修改用户对文件的权限
- root用户可以修改任何文件和目录的权限
#数字权限表示:r-4 w-2 x-1 6-rw 7-rwx
#u-当前用户,g-所属组,o-其他用户
chmod u+x, g+x,o+x
#去除权限
chmod u-x,g-x,o-x
20)SETFACL访问控制列表
setfacl可以用来添加、删除、查询和设置文件或目录的ACL规则。例如,你可以使用setfacl命令来设置某个用户对文件的所有权限,或者禁止某个用户对文件进行访问。
- 常用选项
-m 设置权限
-x 删除指定用户权限
-b 删除所有用户权限
- 限制lr这个用户只能查看和执行该文件,不能修改文件内容和删除
setfacl -m u:lr:rx yum.sh
- 使用lr用户尝试修改文件内容和删除文件,均提示权限不足
- 删除用户权限
setfacl -x u:lr /mnt/yum.sh