# Chapitre V: commande Linux pour trouver le type de fichier et la pratique

1, attributs de fichier

  • attribut se réfère à:

    • Taille du fichier, le temps de la création, le type, les autorisations, et d'autres groupes.
    [root@oldboyedu ~]# ls -lih
    total 4.0K
    33574978 -rw-------. 1 root root 1.7K Apr  4 18:09 anaconda-ks.cfg
    [root@oldboyedu ~]# ls -lih /etc/
    total 1.1M
    51000206 drwxr-xr-x.  3 root root  101 Apr  4 18:06 abrt
    16881475 -rw-r--r--.  1 root root   16 Apr  4 18:08 adjtime
    16777784 -rw-r--r--.  1 root root 1.5K Jun  7  2013 aliases
    16777285 -rw-r--r--.  1 root root  12K Apr  4 18:17 aliases.db
    50334171 drwxr-xr-x.  2 root root  261 Apr  4 18:22 alternatives
    16881620 -rw-------.  1 root root  541 Aug  9  2019 anacrontab
    17167203 -rw-r--r--.  1 root root   55 Aug  8  2019 asound.conf
    51150791 drwxr-x---.  3 root root   43 Apr  4 18:06 audisp
    17528264 drwxr-x---.  3 root root   83 Apr  4 18:17 audit
    50331775 drwxr-xr-x.  2 root root   79 Apr  4 18:23 bash_completion.d
    16777785 -rw-r--r--.  1 root root 2.8K Oct 31  2018 bashrc
    34060666 drwxr-xr-x.  2 root root    6 Mar 18 07:46 binfmt.d
    16777318 -rw-r--r--.  1 root root   37 Sep  5  2019 centos-release
    16777319 -rw-r--r--.  1 root root   51 Sep  5  2019 centos-release-upstream
       35647 drwxr-xr-x.  2 root root    6 Aug  4  2017 chkconfig.d
      539069 drwxr-xr-x.  2 root root   36 Apr  4 18:20 cron.d
    17167190 drwxr-xr-x.  2 root root   42 Apr  4 18:06 cron.daily
    16881621 -rw-------.  1 root root    0 Aug  9  2019 cron.deny
    
    
  • Un total de 10 fichier de propriétés

    16881621 -rw-------.  1 root root    0 Aug  9  2019 cron.deny
       1          2       3  4    5      6  7   8   9      10    
    
    • La première colonne

      • Numéro de document est un identificateur unique, également connu sous le inode (noeud)
    • La deuxième colonne

      • Le premier caractère

        • Il fait référence à un type de fichier

          • - représentatif du type de fichier est un fichier normal (notée f)

          • d est le type de fichier représentant est un répertoire (noté d)

            [root@oldboyedu ~]# ls -ld /etc/
            drwxr-xr-x. 79 root root 8192 Apr  9 17:51 /etc/
            [root@oldboyedu ~]# ls -lp /etc/
            total 1076
            drwxr-xr-x.  3 root root    101 Apr  4 18:06 abrt/ #以斜线结尾的都是目录
            -rw-r--r--.  1 root root     16 Apr  4 18:08 adjtime
            -rw-r--r--.  1 root root   1518 Jun  7  2013 aliases
            -rw-r--r--.  1 root root  12288 Apr  4 18:17 aliases.db
            drwxr-xr-x.  2 root root    261 Apr  4 18:22 alternatives/
            -rw-------.  1 root root    541 Aug  9  2019 anacrontab
            -rw-r--r--.  1 root root     55 Aug  8  2019 asound.conf
            drwxr-x---.  3 root root     43 Apr  4 18:06 audisp/
            [root@oldboyedu ~]# ls -F /etc/
            abrt/                    gnupg/                    motd               sasl2/
            adjtime                  GREP_COLORS               mtab@              securetty
            aliases                  groff/                    my.cnf             security/
            #@指的是连接文件
            
          • l est le fichier de type de fichier représentant (notée l)

            [root@oldboyedu ~]# ls -l /etc/rc.local 
            lrwxrwxrwx. 1 root root 13 Apr  4 18:22 /etc/rc.local -> rc.d/rc.local
            
            
          • c représente le type de fichier est un dispositif de caractères (désignée par c)

            [root@oldboyedu ~]# ls -l /dev/ttyS2
            crw-rw----. 1 root dialout 4, 66 Apr  9 17:51 /dev/ttyS2
            
          • b est le fichier de type de fichier représentant (représenté par b)

            [root@oldboyedu ~]# ls -l /dev/ | grep "^d"
            drwxr-xr-x. 2 root root         140 Apr  9 17:51 block
            drwxr-xr-x. 2 root root          80 Apr  9 17:51 bsg
            drwxr-xr-x. 3 root root          60 Apr  9 17:51 bus
            drwxr-xr-x. 2 root root        2980 Apr  9 17:51 char
            drwxr-xr-x. 3 root root          60 Apr  9 17:51 cpu
            drwxr-xr-x. 5 root root         100 Apr  9 17:51 disk
            drwxr-xr-x. 2 root root          80 Apr  9 17:51 dri
            drwxr-xr-x. 2 root root           0 Apr  9 17:51 hugepages
            drwxr-xr-x. 4 root root         300 Apr  9 17:51 input
            drwxr-xr-x. 2 root root          60 Apr  9 17:51 mapper
            drwxrwxrwt. 2 root root          40 Apr  9 17:51 mqueue
            drwxr-xr-x. 2 root root          60 Apr  9 17:51 net
            drwxr-xr-x. 2 root root           0 Apr  9 17:51 pts
            drwxr-xr-x. 2 root root          60 Apr  9 17:51 raw
            drwxrwxrwt. 2 root root          40 Apr  9 17:51 shm
            drwxr-xr-x. 3 root root         200 Apr  9 17:51 snd
            drwxr-xr-x. 2 root root          60 Apr  9 17:51 vfio
            
            
          • s est le fichier de types de fichiers représentant (désigné par s)

            • fichier .sock est une classe spéciale de ces documents souvent utilisés entre le réseau, une connexion de données, telles que: nous pouvons lancer un programme pour écouter les demandes des clients, le client peut communiquer des données via la prise.
            • communication de fichiers entre les processus
            [root@oldboyedu ~]# ls -l /dev/ | grep "^s"
            srw-rw-rw-. 1 root root           0 Apr  9 17:51 log
            

2, où la commande de contrôle de trajet

  • lequel

    [root@oldboyedu ~]# which ls
    alias ls='ls --color=auto'
    	/usr/bin/ls
    [root@oldboyedu ~]# which cp
    alias cp='cp -i'
    	/usr/bin/cp
    [root@oldboyedu ~]# which ip
    /usr/sbin/ip
    [root@oldboyedu ~]# which cd
    /usr/bin/cd
    

3, les variables système (système Find position de commande)

  • $ Focus super PATH
[root@oldboyedu ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
#系统默认从上面路径查找,以:分割,每分割一次为一个路径
#示例一
[root@oldboyedu ~]# cat /usr/bin/cc
echo $1
[root@oldboyedu ~]# chmod +x /usr/bin/cc
[root@oldboyedu ~]# cc sun
sun
[root@oldboyedu ~]# which cc
/usr/bin/cc

4, affiche le chemin d'accès complet au fichier et sa commande associée

  • où se trouve

    [root@oldboyedu ~]# whereis ls
    ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
    [root@oldboyedu ~]# whereis cp
    cp: /usr/bin/cp /usr/share/man/man1/cp.1.gz
    
    • -b commande affiche un chemin d'accès de fichier binaire

      [root@oldboyedu ~]# whereis -b cp
      cp: /usr/bin/cp
      

5, localiser rapidement le chemin du fichier

  • Localiser

    • Trouver le chemin du fichier, de la requête de base de données
    [root@oldboyedu ~]# yum provides locate  #查看命令所需要的rpm包
    [root@oldboyedu ~]# yum install mlocate -y
    [root@oldboyedu ~]# updatedb #更新库
    [root@oldboyedu ~]# locate ls
    

6, les fichiers dans le répertoire recherche

  • trouver

    • Trouvez principe: traversant le disque lent
    [root@oldboyedu ~]# touch oldboy.txt
    [root@oldboyedu ~]# find ~ -name "oldboy.txt"
    /root/oldboy.txt
    
    
    • Fuzzy Lookup
    [root@oldboyedu ~]# find ~ -name "oldboy*"
    /root/oldboy.txt
    [root@oldboyedu ~]# find /etc/sysconfig/ -name "ifcfg*"
    /etc/sysconfig/network-scripts/ifcfg-lo
    /etc/sysconfig/network-scripts/ifcfg-eth0
    
    
    • -type Recherche par type de fichier
    [root@oldboyedu ~]# find /etc/sysconfig/ -type f -name "ifcfg-eth0"   #f文件
    /etc/sysconfig/network-scripts/ifcfg-eth0
    
    [root@oldboyedu ~]# find /etc/ -type d  -name "sysconfig"	#目录
    /etc/sysconfig
    [root@oldboyedu ~]# find /etc/ -type d  -name "sys*"
    /etc/selinux/targeted/active/modules/100/sysadm
    /etc/selinux/targeted/active/modules/100/sysadm_secadm
    /etc/selinux/targeted/active/modules/100/sysnetwork
    /etc/selinux/targeted/active/modules/100/sysstat
    /etc/selinux/targeted/active/modules/100/systemd
    /etc/systemd
    /etc/systemd/system
    /etc/systemd/system/system-update.target.wants
    /etc/systemd/system/sysinit.target.wants
    /etc/dbus-1/system.d
    /etc/sysctl.d
    /etc/sysconfig
    /etc/xdg/systemd
    /etc/NetworkManager/system-connections
    /etc/latrace.d/headers/sysdeps
    
    • ! niée

      [root@oldboyedu ~]# find /etc/sysconfig/network-scripts/ -type f ! -name "ifcfg-eth0"
      /etc/sysconfig/network-scripts/ifcfg-lo
      /etc/sysconfig/network-scripts/ifdown-bnep
      /etc/sysconfig/network-scripts/ifdown-eth
      /etc/sysconfig/network-scripts/ifdown-ippp
      /etc/sysconfig/network-scripts/ifdown-ipv6
      /etc/sysconfig/network-scripts/ifdown-post
      /etc/sysconfig/network-scripts/ifdown-ppp
      /etc/sysconfig/network-scripts/ifdown-routes
      /etc/sysconfig/network-scripts/ifdown-sit
      /etc/sysconfig/network-scripts/ifdown-tunnel
      /etc/sysconfig/network-scripts/ifup-aliases
      /etc/sysconfig/network-scripts/ifup-bnep
      /etc/sysconfig/network-scripts/ifup-eth
      /etc/sysconfig/network-scripts/ifup-ippp
      /etc/sysconfig/network-scripts/ifup-ipv6
      /etc/sysconfig/network-scripts/ifup-plip
      /etc/sysconfig/network-scripts/ifup-plusb
      /etc/sysconfig/network-scripts/ifup-post
      /etc/sysconfig/network-scripts/ifup-ppp
      /etc/sysconfig/network-scripts/ifup-routes
      /etc/sysconfig/network-scripts/ifup-sit
      /etc/sysconfig/network-scripts/ifup-tunnel
      /etc/sysconfig/network-scripts/ifup-wireless
      /etc/sysconfig/network-scripts/init.ipv6-global
      /etc/sysconfig/network-scripts/network-functions
      /etc/sysconfig/network-scripts/network-functions-ipv6
      /etc/sysconfig/network-scripts/ifdown-Team
      /etc/sysconfig/network-scripts/ifdown-TeamPort
      /etc/sysconfig/network-scripts/ifup-Team
      /etc/sysconfig/network-scripts/ifup-TeamPort
      
      
    • exec trouver dans le processus d'action

      • {} Résultats précédents de trouver pour mettre ici
      • Notez que cette commande est utilisée et {}; espace intermédiaire doit de
      • \ Représente l'évasion, voici le, convertir le sens original
      [root@oldboyedu ~]# find ~ -type f -name "oldboy*"
      /root/oldboy.txt
      [root@oldboyedu ~]# find ~ -type f -name "oldboy*" -exec rm -f {} \;
      [root@oldboyedu ~]# ls
      anaconda-ks.cfg
      
      
    • -mtime Recherche par date de modification

      • Quelques jours avant + n
      • n jours
      • Quelques jours plus tard -n
      [root@oldboyedu ~]# find ~ -type f -mtime +3  #三天之前
      /root/.bash_logout
      /root/.bash_profile
      /root/.bashrc
      /root/.cshrc
      /root/.tcshrc
      /root/anaconda-ks.cfg
      /root/.bash_history
      [root@oldboyedu ~]# find ~ -type f -mtime +1  #一天之前
      /root/.bash_logout
      /root/.bash_profile
      /root/.bashrc
      /root/.cshrc
      /root/.tcshrc
      /root/anaconda-ks.cfg
      /root/.bash_history
      [root@oldboyedu ~]# find ~ -type f -mtime 3  #第三天
      [root@oldboyedu ~]# find ~ -type f -mtime -3 #三天之后
      /root/.viminfo
      
      

7, regroupement (blanc par défaut)

  • xargs

    • -n spécifier plusieurs en tant que groupe
    [root@oldboyedu ~]# echo {1..10} > text.txt
    [root@oldboyedu ~]# xargs -n 3 < text.txt 
    1 2 3
    4 5 6
    7 8 9
    10
    [root@oldboyedu ~]# xargs -n 5 < text.txt 
    1 2 3 4 5
    6 7 8 9 10
    [root@oldboyedu ~]# xargs -n 1 < text.txt 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@oldboyedu ~]# xargs  < text.txt 
    1 2 3 4 5 6 7 8 9 10
    
    • -d délimiteur spécifié
    [root@oldboyedu ~]# xargs -n 1 < text.txt > text1.txt
    [root@oldboyedu ~]# cat text.txt 
    1 2 3 4 5 6 7 8 9 10
    [root@oldboyedu ~]# xargs -d "\n" < text1.txt 
    1 2 3 4 5 6 7 8 9 10
    [root@oldboyedu ~]# xargs -d "\n" -n 1 < text1.txt 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [root@oldboyedu ~]# xargs -d "\n" -n 3 < text1.txt 
    1 2 3
    4 5 6
    7 8 9
    10
    
    [root@oldboyedu ~]# xargs < text1.txt 
    1|2|3|4|5|6|7|8|9|10
    [root@oldboyedu ~]# xargs -d "|" < text1.txt 
    1 2 3 4 5 6 7 8 9 10
    
    
    • | Symbole de tuyau
      • Le résultat a quitté le pipeline assign le droit d'effectuer
    [root@oldboyedu ~]#  find /etc/sysconfig/network-scripts/ -type f  -name "ifcfg-eth0" | xargs ls -l 
    -rw-r--r--. 1 root root 362 Apr  4 18:08 /etc/sysconfig/network-scripts/ifcfg-eth0
    
    
    • -i spéciale {} comme les seuls résultats précédents recherche

      [root@oldboyedu ~]#  find /etc/sysconfig/network-scripts/ -type f  -name "ifcfg-eth0" | xargs  cp {}  /opt/
      cp: target ‘/etc/sysconfig/network-scripts/ifcfg-eth0’ is not a directory
      [root@oldboyedu ~]#  find /etc/sysconfig/network-scripts/ -type f  -name "ifcfg-eth0" | xargs  -i cp {}  /opt/
      [root@oldboyedu ~]# ll /opt/
      total 4
      -rw-r--r--. 1 root root 362 Apr  9 19:00 ifcfg-eth0
      
      [root@oldboyedu ~]#  find /etc/sysconfig/network-scripts/ -type f  -name "ifcfg-eth0" | xargs -i  mv {}  /opt/
      [root@oldboyedu ~]# ll /opt/
      total 4
      -rw-r--r--. 1 root root 362 Apr  4 18:08 ifcfg-eth0
      
      
      

8, le temps du système d'affichage et la date

  • Date

    • -s Réglez le temps du système

      [root@oldboyedu ~]# date 
      Thu Apr  9 19:01:57 CST 2020
      [root@oldboyedu ~]# date -s "2020/01/01 00:00:00"
      Wed Jan  1 00:00:00 CST 2020
      [root@oldboyedu ~]# date
      Wed Jan  1 00:00:03 CST 2020
      [root@oldboyedu ~]# clock -w  #计入到主板里
      
      [root@localhost ~]# date +%F  #年月日
      2020-01-01
      [root@localhost ~]# date +%Y	#年
      2020
      [root@localhost ~]# date +%y	#年后两位
      20
      [root@localhost ~]# date +%m	#月
      01
      [root@localhost ~]# date +%d	#日
      01
      [root@localhost ~]# date +%H     #时
      00
      [root@localhost ~]# date +%M	 #分
      02
      [root@localhost ~]# date +%S	 #秒
      15
      

9, l'emballage de compression

  • prend
    • compression -Z
    • -c créer
    • détails -v
    • -f fichier
    • Voir -t
    • Extraction de l'emplacement spécifié -C
    • décompression -x
    • lien de compression de fichiers -h
[root@oldboyedu /]# tar -zcvf data.tar.gz ./data
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
./data/6.txt
./data/7.txt
./data/8.txt
./data/9.txt
./data/10.txt
./data/a/
./data/b/
[root@oldboyedu /]# tar -zcvf /opt/data.tar.gz ./data
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
./data/6.txt
./data/7.txt
./data/8.txt
./data/9.txt
./data/10.txt
./data/a/
./data/b/
[root@oldboyedu /]# tar -tf /opt/data.tar.gz 
./data/
./data/1.txt
./data/2.txt
./data/3.txt
./data/4.txt
./data/5.txt
./data/6.txt
./data/7.txt
./data/8.txt
./data/9.txt
./data/10.txt
./data/a/
./data/b/

Je suppose que tu aimes

Origine www.cnblogs.com/sunyuhang1/p/12668985.html
conseillé
Classement