ls 常用选项:
-l 以长格式显示目录下的内容及其详细属性
-h 人性化显示目录下内容大小
-d 仅显示目录本身而不显示目录下的内容
$:打头的表示这不是在root用户(管理员用户)下执行的命令。
#:打头的表示这是在root用户下执行的命令。要使$变为#,可以使用su命令切换到root用户
date "+%Y/%m/%d %H:%M:%S" 注意双引号
date +%j 该年已过多少天
cal命令可以显示日历,默认显示当前月的日历。加上参数可以显示其他月份的日历。
timedatectl status
timedatectl set-ntp no
mkdir -p 递归创建多个目录
directory 文件
[root@localhost ~]# cd /kkk/text1/text2/text3
[root@localhost text3]# cd ..
[root@localhost text2]# cd ..
[root@localhost text1]# cd ..
[root@localhost kkk]# cd ..
[root@localhost /]# cd ..
.. 返回到上一级
rm
-f 强制删除
-r 删除目录
which:Linux系统中用于查找文件路径
链接文件:快捷方式
mv命令在Linux系统中被用于移动文件或改变文件的名称。以下是mv命令的几种常用用法:
--文件改名:
mv oldname.txt newname.txt
这条命令会将名为oldname.txt的文件改名为newname.txt。
------------------------------------------------------------------------------------
[root@localhost ~]# cd /opt
[root@localhost opt]# touch hello_soft
[root@localhost opt]# ls
hello_soft
[root@localhost opt]# cd /
[root@localhost /]# ls /media
hello_soft
[root@localhost /]# ls -l /media/hello_soft
lrwxrwxrwx. 1 root root 10 10月 17 19:40 /media/hello_soft -> hello_soft(闪动的红色)
-- 注意:创建链接时一定要写目录或文件的绝对路径
[root@localhost /]# ls /media
[root@localhost /]# ln -s /opt/hello_soft /media/
[root@localhost /]# ls /media
hello_soft (浅蓝色 表示可用的链接文件)
[root@localhost /]#
[root@localhost opt]# ll hello_soft
-rw-r--r--. 1 root root 0 10月 17 19:40 hello_soft
[root@localhost opt]# ls -l /media/hello_soft
lrwxrwxrwx. 1 root root 15 10月 17 19:43 /media/hello_soft -> /opt/hello_soft (参考源文件)
-- 可以看到,链接文件的权限比源文件的大
--软连接特点1:链接文件和源文件同步
[root@localhost opt]# cp /etc/fstab hello_soft
cp:是否覆盖'hello_soft'? y
[root@localhost opt]# cat /media/hello_soft
--软连接特点2:源文件被删除,链接文件不可用
链接文件被删除,源文件没有影响
rm -rf hello_soft
[root@localhost opt]# ls -l /media
总用量 0
lrwxrwxrwx. 1 root root 15 10月 17 19:43 hello_soft -> /opt/hello_soft
[root@localhost opt]# ls /media
hello_soft
[root@localhost opt]# ls -l /media/hello_soft
lrwxrwxrwx. 1 root root 15 10月 17 19:43 /media/hello_soft -> /opt/hello_soft
[root@localhost opt]#
df -h
lsblk
-- 软链接的特点3:可以跨分区、
[root@localhost opt]# ln -s /opt/hello_soft /boot
软链接: ln -s 硬链接:ln
------------------------------------------------------------
硬链接特点1:不可以跨分区
[root@localhost opt]# ln /opt/hello_hard /boot
ln: 无法创建硬链接 '/boot/hello_hard' => '/opt/hello_hard': 无效的跨设备链接
硬链接特点2:源文件被删除,链接文件依然可用
[root@localhost opt]# ln /opt/hello_hard /media
[root@localhost opt]# ls /media
hello_hard hello_soft test 硬链接文件颜色跟普通文件颜色一样(硬链接文件的颜色不是浅蓝色)
[root@localhost opt]# rm -rf hello_hard
[root@localhost opt]# ls
1a 1b 1c 2a 2b 2c 3a 3b 3c hello_soft test
[root@localhost opt]# ls /media
hello_hard hello_soft test
[root@localhost opt]# cat /media/hello_hard
Linux 的帮助命令主要包含三个:
1.help 命令与 --help 参数 help命令只能用于内建命令
2.man 命令 想比help,man 命令的信息更全
3.info 命令
问题:查看/etc/passwd文件第一行内容
[root@localhost /]# head -1 /etc/passwd
或
[root@localhost /]# head -n 1 /etc/passwd
查看内核
[root@localhost /]# uname
Linux
[root@localhost /]# uname -r
5.14.0-162.6.1.el9_1.x86_64
[root@localhost /]# uname -sr
Linux 5.14.0-162.6.1.el9_1.x86_64
查看cpu
[root@localhost /]# cat /proc/cpuinfo
[root@localhost ~]# cat -n /etc/passwd | head -10 | tail -5
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
| 管道符
> 覆盖
>> 追加
2> 只收集错误的输出结果 (覆盖)
2>> 只收集错误的输出结果 (追加)
&> 错误正确的都收集 (覆盖)
&>> (追加)
[root@localhost opt]# cat -n /etc/passwd | head -n 10 | tail -n 5
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost opt]# cat test2.txt
nihaowoshiwenjiatest.txt
[root@localhost opt]# cat -n /etc/passwd | head -n 10 | tail -n 5 >> test2.txt 实现内容的追加
[root@localhost opt]# cat test2.txt
nihaowoshiwenjiatest.txt
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
[root@localhost opt]# cat test3.txt
cat: /opt/oocc: 没有那个文件或目录
[root@localhost opt]# cat /opt/oocc 2> /opt/test3.txt
[root@localhost opt]# cat test3.txt
cat: /opt/oocc: 没有那个文件或目录
[root@localhost opt]# ping www.kkk.com
ping: www.kkk.com: 未知的名称或服务
[root@localhost opt]# ping www.kkk.com 2>> test3.txt
[root@localhost opt]# cat test3.txt
cat: /opt/oocc: 没有那个文件或目录
ping: www.kkk.com: 未知的名称或服务
: set nu ---显示行号
: set nonu ---取消行号显示
: %s/所需修改的内容/想要修改的内容
stat命令是Linux系统中用于显示文件或文件系统详细信息的工具。它提供了比ls命令更为详尽的数据,包括文件大小、iNode节点、块数量、访问权限、访问时间、修改时间等。这个命令对于分析文件属性非常有用。
-type 类型
f 文件
d 目录
l 链接文件
[root@localhost ~]# find /var/log -type f
- (not)name “文件名”
[root@localhost ~]# find /var/log -name "*.log
- iname 按文件名查找忽略大小写
-size
[root@localhost ~]# find /var/log -size -5k
寻找比5k小的文件
--------------------------------------------
grep和find
grep ---> 文件的内容(文件内部)
find ---> 文件本身(文件外部)
find和ls
find 会使用递归,ls不会。find所呈现的比ls的多
ls /etc/*.conf ls只在etc这一层找,其下面的目录不找
-----------------------------------------------
- mtime 按日期查找 +多少天之前 -多少天之内
0 24小时之内
-a 两个条件同时满足
-o 两个条件满足一个
-user 用户名
[root@localhost ~]# find /opt -mtime -3 -type f -exec cp {} /var \;
-- 将在/opt及其下面的目录中查找在三天以内创建的文件复制到/var目录中
[root@localhost ~]# ls /var
adm db games local mail preserve test2.txt tmp
cache empty kerberos lock nis run test3.txt yp
crash ftp lib log opt spool test.txt
-exec 可接额外的命令来处理查找到的结果
{} 将find查找到的内容放置{}中
\; 代表额外处理命令结束
使用 head 和 tail 命令的组合:
head -n 23 文件名 | tail -n 1
head -n 23 会输出文件的前 23 行,然后通过管道 | 将这些行传递给 tail -n 1,后者会输出最后 1 行,也就是第 23 行。
压缩--
gzip bzip2 xz ,其中xz压缩效果最好
[root@localhost ~]# cp /etc/services /opt
[root@localhost ~]# ls /opt
services
[root@localhost ~]# cd /opt
[root@localhost opt]# du -h services
680K services
压缩后:
root@localhost opt]# gzip services
[root@localhost opt]# du -h services.gz
140K services.gz
查看压缩文件内容:
zcat services.gz
解压缩 -d
[root@localhost opt]# gzip -d services.gz
du -hs总计总数
gzip bzip2 xz不支持对目录进行压缩
--->tar
先打包再压缩
[root@localhost ~]# tar -cf log.tar /var/log
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
anaconda-ks.cfg files hello_soft helloworld.c log.tar
[root@localhost ~]# du -h log.tar
12M log.tar
[root@localhost ~]# gzip log.tar
[root@localhost ~]# du -h log.tar.gz
980K log.tar.gz
一步到位
[root@localhost ~]# tar -czf log.tar.gz /var/log 注意参数的顺序
列出打包文档内容
[root@localhost ~]# tar -tf log.tar.gz
解压
tar -xf log.tar.gz
解压
tar -xf log.tar.gz -C /opt -C解压到指定目录
[root@localhost ~]# tar -xf log.tar.gz -C /opt
tar: var/log/rhsm/rhsmcertd.log-20251011:时间戳 2025-10-11 01:35:30 是未来的 30518691.697754056 秒之后
tar: var/log/messages-20251011:时间戳 2025-10-11 01:35:30 是未来的 30518691.601237282 秒之后
tar: var/log/maillog-20241022:时间戳 2025-10-11 01:35:30 是未来的 30518691.59952303 秒之后
tar: var/log/vmware-network.9.log:时间戳 2025-10-11 01:47:38 是未来的 30519419.581619879 秒之后
tar: var/log/spooler-20241022:时间戳 2025-10-11 01:35:30 是未来的 30518691.577483277 秒之后
[root@localhost ~]# ls /opt
tmp var
[root@localhost ~]#
解释:
tar: 从成员名中删除开头的“/”
var/log/
var/log/README
var/log/tallylog
var/log/private/
var/log/wtmp
可以看出var前面没有/
查看别名 alias
删除别名unalias
[root@localhost ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias xzegrep='xzegrep --color=auto'
alias xzfgrep='xzfgrep --color=auto'
alias xzgrep='xzgrep --color=auto'
alias zegrep='zegrep --color=auto'
alias zfgrep='zfgrep --color=auto'
alias zgrep='zgrep --color=auto'
[root@localhost ~]# alias ping='ping -c 4'
多用户,账户和组的管理
1.超级管理员 root
2.系统 无法登录
3.普通用户
4.组------------------基本组(私有) 扩展组(公有:可容纳多个用户)
5.配置文件 --------例: 用户/etc/passwd:用户基本信息,账号***(密码不在,在另一个中)
-------系统uid(1-999) 用户(>=1000)
-------普通用户解释器/bin/bash 系统/sbin/nologin
-------密码存放/etc/shadow-----组文件/etc/group-------组密码/etc/gshadow
6.用户的添加和删除: 用户创建:useradd
用户密码创建:passwd nhjc
用户信息修改:usermod // 锁定:usermod byy -L
删除账号:userdel // userdel -r nhjc在删除用户同时将加目录(/home中)也删
7 ------sudo :对普通用户提权操作,配置文件在/etc/sudoers
8.组操作: (1)groupadd 组名 (2)gpasswd -a:将用户划分在组内 -M:划分多个 -A:设置为管理员
-d:删除组内用户
(3)groupdel:删除组 (4)groupmod:更改
9.users/last:查看系统登陆用户信息 lastlog:每个用户最近的登陆时间 !!!w:也是显示用户登录信息的
who:用法同上 注:系统级别(0-6) 0为关机,6为重启,5为桌面正常运行
!!!!! init 6:切换系统级别为重启 init 0=shutdown now 关机
who am i = who am I /// whoami:返回当前登录的用户