兄弟连linux系列(一)

image

参考书籍如上


一、linux 常用命令

1. 命令的基本格式

1. 从超级用户切换到普通用户命令

  • su 用户名,命令提示符为$
  • su root,切换为超级用户,命令提示符为#
    image

2. pwd 可以显示当前完整路径


3. ls 命令

  • 显示当前文件夹下面的全部文件名

  • ls -l 显示详细信息

  • ls -l

    点击查看代码
    (base) [root@localhost ~]# ls
    anaconda-ks.cfg initial-setup-ks.cfg
    (base) [root@localhost ~]# ls -l
    总用量 8
    -rw-------. 1 root root 1553 11月 19 01:24 anaconda-ks.cfg
    -rw-r--r--. 1 root root 1844 11月 19 01:27 initial-setup-ks.cfg
    
    (base) [root@localhost ~]# ls -l anaconda-ks.cfg
    -rw-------. 1 root root 1553 11月 19 01:24 anaconda-ks.cfg
    

2. 目录操作命令

1. ls 命令

  • ls -a 显示文件夹下all文件,即隐藏文件也会被显示出来
  • ls -l 显示文件夹下文件的详细信息(包括:权限、引用计数、所有者、所属组、文件大小、修改时间、文件名)
    -rw-------. 1 root root 1553 11月 19 01:24 anaconda-ks.cfg
  • ls -i 显示文件inode号
  • ls -d 显示目录本身的信息
    (base) [root@localhost ~]# ls -ld
    dr-xr-x---. 5 root root 4096 11月 20 23:35

2. cd 命令

内涵:切换目录

  • cd 路径

  • cd ~ 用户家目录

  • cd / 用户根目录

  • cd .. 返回上级目录

  • cd - 返回上次目录点击查看代码

    点击查看代码
    (base) [root@localhost ~]# cd /usr/local/src/
    (base) [root@localhost src]# pwd
    /usr/local/src
    (base) [root@localhost src]# cd ~
    (base) [root@localhost ~]#
    
    (base) [root@localhost ~]# cd /usr/local/src/
    (base) [root@localhost src]# cd /
    (base) [root@localhost /]#
    
    (base) [root@localhost ~]# cd /usr/local/
    (base) [root@localhost local]# cd - /root
    (base) [root@localhost ~]#
    
  • / 根目录下面有什么?
    (包括home、etc、root、usr、opt

    点击查看代码
    (base) [root@localhost ~]# cd /
    (base) [root@localhost /]# ls -l
    总用量 32
    lrwxrwxrwx.   1 root root     7 6月  22 13:06 bin -> usr/bin
    dr-xr-xr-x.   6 root root  4096 11月 19 01:25 boot
    drwxr-xr-x.  20 root root  3220 11月 20 13:03 dev
    drwxr-xr-x. 174 root root 12288 11月 20 23:35 etc
    drwxr-xr-x.   3 root root    27 11月 20 13:29 home
    lrwxrwxrwx.   1 root root     7 6月  22 13:06 lib -> usr/lib
    lrwxrwxrwx.   1 root root     9 6月  22 13:06 lib64 -> usr/lib64
    drwxr-xr-x.   2 root root     6 6月  22 13:06 media
    drwxr-xr-x.   3 root root    18 11月 19 01:12 mnt
    drwxr-xr-x.   4 root root    38 11月 20 13:07 opt
    dr-xr-xr-x. 291 root root     0 11月 20 13:03 proc
    dr-xr-x---.   5 root root  4096 11月 20 23:35 root
    drwxr-xr-x.  53 root root  1480 11月 20 13:13 run
    lrwxrwxrwx.   1 root root     8 6月  22 13:06 sbin -> usr/sbin
    drwxr-xr-x.   2 root root     6 6月  22 13:06 srv
    dr-xr-xr-x.  13 root root     0 11月 20 13:03 sys
    drwxrwxrwt.  23 root root  4096 11月 21 01:44 tmp
    drwxr-xr-x.  13 root root   158 11月 19 01:10 usr
    drwxr-xr-x.  23 root root  4096 11月 19 01:25 var
    

3. mkdir命令

  • 内涵:创建新的空目录

    点击查看代码
    (base) [root@localhost ~]# cd /
    (base) [root@localhost /]# cd home
    (base) [root@localhost home]# ls
    f1  lee
    (base) [root@localhost home]# cd lee
    (base) [root@localhost lee]# pwd
    /home/lee
    (base) [root@localhost lee]# mkdir firstleedir
    (base) [root@localhost lee]# ls
    公共  模板  视频  图片  文档  下载  音乐  桌面  anaconda3  Anaconda3-2019.03-Linux-x86_64.sh  firstleedir
    
  • 假如我需要建立a目录下面还有b目录,需要加入参数 -p

    点击查看代码
    (base) [root@localhost lee]# mkdir -p a/b
    (base) [root@localhost lee]# ls
    公共  视频  文档  音乐  a          Anaconda3-2019.03-Linux-x86_64.sh
    模板  图片  下载  桌面  anaconda3  firstleedir
    (base) [root@localhost lee]# cd a
    (base) [root@localhost a]# ls
    b
    (base) [root@localhost a]#
    

4. rmdir 命令

  • 内涵:删除的空目录!!!(不常用)

    点击查看代码
    (base) [root@localhost lee]# cd a
    (base) [root@localhost a]# ls
    b
    (base) [root@localhost a]# rmdir b
    (base) [root@localhost a]# ls
    (base) [root@localhost a]# 
    

5. tree 命令

内涵:显示目录树

点击查看代码
(base) [root@localhost lee]# tree /home/lee/anaconda3/bin
/home/lee/anaconda3/bin
├── 2to3 -> 2to3-3.7
├── 2to3-3.7
├── activate
├── anaconda
├── anaconda-navigator
├── anaconda-project
├── asadmin
├── assistant
├── binstar
├── bokeh
├── bsdcat
...省略
├── xzless
├── xzmore
├── zstd
├── zstdcat -> zstd
└── zstdmt -> zstd

0 directories, 412 files

3. 文件操作命令

1. touch 命令

内涵:建立空文件,若文件已经存在,则修改其时间戳

点击查看代码
(base) [root@localhost firstleedir]# ls
(base) [root@localhost firstleedir]# touch a1
(base) [root@localhost firstleedir]# ls
a1
(base) [root@localhost firstleedir]#

问题:如何区分linux里面的文件和目录?

drwxr-xr-x. 的首字母为d即为目录
首字母为-即为文件

点击查看代码
(base) [root@localhost lee]# cd firstleedir/
(base) [root@localhost firstleedir]# ls
a1
(base) [root@localhost firstleedir]# cd ..
(base) [root@localhost lee]# ls -l
总用量 669840
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 公共
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 模板
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 视频
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 图片
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 文档
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 下载
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 音乐
drwxr-xr-x.  2 lee  lee          6 11月 19 01:28 桌面
drwxr-xr-x.  2 root root         6 11月 21 02:07 a
drwxr-xr-x. 26 root root      4096 11月 20 03:54 anaconda3
-rw-r--r--.  1 root root 685906562 4月   5 2019 Anaconda3-2019.03-Linux-x86_64.sh
drwxr-xr-x.  2 root root        16 11月 21 02:27 firstleedir
(base) [root@localhost lee]# ls -ld
drwx------. 18 lee lee 4096 11月 21 02:04 .
(base) [root@localhost lee]# cd -
/home/lee/firstleedir
(base) [root@localhost firstleedir]# ls -l
总用量 4
-rw-r--r--. 1 root root 6 11月 21 02:27 a1


2. stat 命令

内涵:查看文件详细信息

  • stat [文件名] 查看文件信息(包括:文件访问时间、数据修改时间、状态修改时间)

  • stat -f [文件名] 查看文件所在目录的信息

  • 如果 cat [文件名]之后再执行 stat [文件名],其最近访问时间发生改变。

  • 如果 使用 echo 向文件写入内容,那么数据修改时间会改变,同时状态也改变。

    点击查看代码
    (base) [root@localhost firstleedir]# touch a1
    (base) [root@localhost firstleedir]# ls
    a1
    (base) [root@localhost firstleedir]# stat a1 
      文件:a1
      大小:6         	块:8          IO 块:4096   普通文件
    设备:fd00h/64768d	Inode:22875146    硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:user_home_t:s0
    最近访问:2021-11-21 10:26:49.076594039 +0800
    最近更改:2021-11-21 10:26:49.076594039 +0800
    最近改动:2021-11-21 10:26:49.076594039 +0800
    创建时间:2021-11-21 02:27:32.519005514 +0800
    (base) [root@localhost firstleedir]# stat -f a1 
      文件:"a1"
    	ID:fd0000000000 文件名长度:255     类型:xfs
    块大小:4096       基本块大小:4096
    	块:总计:4452864    空闲:1077092    可用:1077092
    Inodes: 总计:8885152    空闲:8616907
    
    (base) [root@localhost firstleedir]# cat a1
    72234
    (base) [root@localhost firstleedir]# stat a1 
      文件:a1
      大小:6         	块:8          IO 块:4096   普通文件
    设备:fd00h/64768d	Inode:22875146    硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:user_home_t:s0
    最近访问:2021-11-21 10:31:00.080086757 +0800
    最近更改:2021-11-21 10:26:49.076594039 +0800
    最近改动:2021-11-21 10:26:49.076594039 +0800
    创建时间:2021-11-21 02:27:32.519005514 +0800
    
    (base) [root@localhost firstleedir]# echo '123'> a1
    (base) [root@localhost firstleedir]# stat a1 
      文件:a1
      大小:4         	块:8          IO 块:4096   普通文件
    设备:fd00h/64768d	Inode:22875146    硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:user_home_t:s0
    最近访问:2021-11-21 10:31:00.080086757 +0800
    最近更改:2021-11-21 10:34:21.636944498 +0800
    最近改动:2021-11-21 10:34:21.636944498 +0800
    创建时间:2021-11-21 02:27:32.519005514 +0800
    (base) [root@localhost firstleedir]# 
    

3. cat 命令

内涵:查看文件内容(适合查看不大的文件)

  • cat -n [文件名] 会显示行号

  • cat -A [文件名] 会显示隐藏字符包括回车$,tab键。

    点击查看代码
    (base) [root@localhost firstleedir]# cd ~
    (base) [root@localhost ~]# cat anaconda-ks.cfg 
    #version=RHEL8
    # Use graphical install
    graphical
    
    repo --name="AppStream" --baseurl=file:///run/install/sources/mount-0000-cdrom/AppStream
    
    %packages
    @^graphical-server-environment
    @container-management
    @debugging
    @development
    @dotnet-core
    @file-server
    @ftp-server
    @graphical-admin-tools
    @guest-agents
    @headless-management
    @infiniband
    @legacy-unix
    @mail-server
    @network-file-system-client
    @network-server
    @performance
    @remote-desktop-clients
    @remote-system-management
    @rpm-development-tools
    @scientific
    @security-tools
    @smart-card
    @smb-server
    @system-tools
    @virtualization-client
    @virtualization-hypervisor
    @virtualization-tools
    @web-server
    kexec-tools
    
    %end
    
    # Keyboard layouts
    keyboard --xlayouts='cn'
    # System language
    lang zh_CN.UTF-8
    
    # Network information
    network  --bootproto=dhcp --device=ens33 --ipv6=auto --activate
    network  --hostname=localhost.localdomain
    
    # Use CDROM installation media
    cdrom
    
    # Run the Setup Agent on first boot
    firstboot --enable
    
    ignoredisk --only-use=sda
    autopart
    # Partition clearing information
    clearpart --none --initlabel
    
    # System timezone
    timezone Asia/Shanghai --isUtc
    
    # Root password
    rootpw --iscrypted $6$qXScqN7rREEFmQkj$uM1EB02aIh5QumYgvRdSmdEKBuvA1Elopa7DkdJYv40mYWEJVXHZSVwNtzrkEcKhpBKm/ulIdzh/7H9DyCBGD/
    
    %addon com_redhat_kdump --enable --reserve-mb='auto'
    
    %end
    
    %anaconda
    pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok
    pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty
    %end
    (base) [root@localhost ~]# 
    

4. more 命令

内涵:分屏显示文件内容

  • 空格键向下翻页
  • b 向上翻页
  • enter 向下滚动一行
  • q 退出

5. less 命令

通过上下键分行查看内容


6. head 命令

内涵:显示文件头部信息

7. tail 命令

内涵:显示文件尾部信息

8. ln 命令

内涵:建立软硬链接


4. 目录和文件都可操作命令

1. rm 命令

  • rm -i 在删除之前询问用户(默认)
  • rm -r 删除目录
  • rm -rf 强制删除,不用输入y

2. cp 命令

内涵:复制文件/文件夹

3. mv 命令

内涵:移动文件

  • mv -f 源文件 目标文件 如果存在同名文件,则不询问强制覆盖
posted @ 2021-11-21 13:05  李小乐king  阅读(192)  评论(0编辑  收藏  举报