linux基础命令

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:返回当前登录的用户
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值