Atypical "ls" - Habr рд╕рдВрд╕реНрдХрд░рдг

рдЫрд╡рд┐

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░!

рдЕрдиреНрдп рдирд┐рдпрдорд┐рдд (рдпрд╛ рдРрд╕рд╛ рдирд╣реАрдВ) рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдирд┐рдпрдорд┐рдд рд░реВрдк рд╕реЗ рдПрд▓рдПрд╕ рдХреА рдЬрдЧрд╣ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХрд▓ рдХреА рдкреЛрд╕реНрдЯ рдХреЗ рдмрд╛рдж , рдореИрдВ рдЕрднреА рдЯрд┐рдкреНрдкрдгреА рдирд╣реАрдВ рдкрд╛ рд╕рдХрд╛ рд╣реВрдВ, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдкреЛрд╕реНрдЯ рдЪрд╛рд░реНрдЯ рдХреЗ рд╢реАрд░реНрд╖ рддрдХ рдмрдврд╝ рдЧрдпрд╛ рд╣реИ рдФрд░ 18k рдПрдХ рджрд┐рди рдореЗрдВ рдЗрд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рд▓реЛрдЧреЛрдВ рдХреА рдПрдХ рдкреВрдВрдЫ рдХреЗ рд╕рд╛рдеред рдЦрд╛рдмрд░реЛрд╡рд╕реНрдХ рдирд╛рдЧрд░рд┐рдХреЛрдВ рдиреЗ рдПрд▓рдПрд╕ рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рджреБрдирд┐рдпрд╛ рдХреЛ рдХрдИ рдирдП рддрд░реАрдХреЗ рджрд┐рдП рд╣реИрдВред рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдХреА рдЬрд╛рдВрдЪ рдХреА (рд▓реЗрдХрд┐рди рдпрд╣ рд╕рдЯреАрдХ рдирд╣реАрдВ рд╣реИ), рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХреЛ рдХрдВрдШреА рдХрд┐рдпрд╛ рддрд╛рдХрд┐ рд╡реЗ рд╕рдорд╕реНрдпрд╛ рдХреА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдВ, рдФрд░ рдореИрдВ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдЗрд╕рдХрд╛ рдЖрдирдВрдж рд▓реЗрдВ!

1. рджрд┐рд░


рд╣рд╛рдВ, рд▓рд╛рдирдд рд╣реИред рд╡рд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореЗрд░реЗ рд╕рд┐рд░ рд╕реЗ рдЙрдбрд╝ рдЧрдпрд╛ред рдФрд░ рдпрджреНрдпрдкрд┐ рдпрд╣ рдбреЙрд╕, рд╡рд┐рдВрдбреЛрдЬ рдФрд░ рдУрдПрд╕ / 2 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рд╣реИ, рдпрд╣ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдареАрдХ рд╕реЗ рдХрд░рддрд╛ рд╣реИ!
рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореБрдЭреЗ рдпреВрдореЛрд░реЛрдЬрд╝реЛрд╡ рдФрд░ рдХреНрд░реВрд╕ 5 рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛

dir -aA ~ 

2. рдЫрд╛рдкрд╛


рдореБрдЭреЗ рдкрд╢реНрдЪрд╛рддрд╛рдк рд╣реБрдЖред zsh рдиреЗ рдореБрдЭреЗ рдЧрдбрд╝рдмрдбрд╝ рдХрд░ рджрд┐рдпрд╛ рдФрд░ рдореБрдЭреЗ рд▓рдЧрд╛ рдХрд┐ рдкреНрд░рд┐рдВрдЯ рдПрдХ рдРрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдереА - рдЧреВрдВрдЬ рдХрд╛ рдПрдХ рд╣рд▓реНрдХрд╛ рд╕рдВрд╕реНрдХрд░рдг, рд▓реЗрдХрд┐рди рдпрд╣ рдХреЗрд╡рд▓ zsh рдХреА рд╣реА рдмрд╛рдЗрдмрд▓ рдереАред рд▓реЗрдХрд┐рди рдЖрдИрдЖрдИрдЬреА рдиреЗ рдкреНрд░рд┐рдВрдЯрдл рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдорд╛рд╕реНрдЯрд░ рд╡рд░реНрдЧ рджрд┐рдЦрд╛рдпрд╛

 printf "%s\n" ~/* ~/.* 

3. рдЧреВрдВрдЬ


рд╣рд╛рдБ, рдпрд╣ рдЙрд╕реЗ рдлрд┐рд░ рд╕реЗ рд╣реИ ... рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕реНрд╡рдд: рдкреВрд░реНрдгрддрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд╛рдо рдХрд░рдирд╛ред рдЗрд╕ SlavniyTeo рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж

 echo -e 'echo \t\ty\b\b\b\b\b\b\b' | bash -i echo -e 'echo \t\ty\b\b\b\b\b\b\b' | sh -i 

рд▓реЗрдХрд┐рди zsh рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднрд╛рдЧреНрдп рд╕реЗ рдмрд╛рд╣рд░ рд╣реИрдВ, рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВ?

3. рд╡рд┐рдо


cru5ader рдиреЗ рдпрд╛рдж рджрд┐рд▓рд╛рдпрд╛ рдХрд┐ рд╡рд┐рдо рдХрд╛ рдЕрдкрдирд╛ рдлрд╝рд╛рдЗрд▓ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╣реИ, рдФрд░ рдЪреВрдВрдХрд┐ рд╡рд┐рдо рд╣рд░ рдЬрдЧрд╣ рд╣реИ (рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд▓рдЧрднрдЧред рд╡рд╣рд╛рдБ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп vi рд╣реИ manjaro рдкрд░ рдФрд░ рдпрд╣ рдзреНрдпрд╛рди рдЗрд╕рдХреЗ рд╕рд╛рде рдХрд╛рдо рдирд╣реАрдВ рдХрд░реЗрдЧрд╛), рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдХрд░рддреЗ?

 vim ~ 

4. рдЖрд░рдПрдо


рд╣рд╛рдБ! рддреБрдореНрд╣рд╛рд░реА рдЖрдВрдЦреЗрдВ рддреБрдореНрд╣реЗрдВ рдзреЛрдЦрд╛ рдирд╣реАрдВ рджреЗрддреАрдВред рдкреНрд░рд╕рд┐рджреНрдз рдмрд░реНрдорд┐рди рдкреИрдЪ рдХрд╛ рдЖрдзрд╛рд░ рдХреНрдпрд╛ рд╣реИ, рдЬреЛ рд╢реБрд░реБрдЖрддреА рдпреВрдирд┐рдХреНрд╕ рд╕реЗ рдбрд░рддрд╛ рд╣реИ, рд╣рдо рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╢рд╛рдВрддрд┐рдкреВрд░реНрдг рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред рдзрдиреНрдпрд╡рд╛рдж POPSuL

 yes "n" | rm -i $HOME/* $HOME/.* 2>&1|grep -o "$HOME[^']*" 

рдФрд░ рдзреЛрдЦреЗрдмрд╛рдЬрд╝

 (echo y; yes n) | rm -ir ~ 2>&1 | sed -E -e "s/(rm:[^']+)|\?//g" 

5. rsync


рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрдпреЛрдВ рдирд╣реАрдВ? рдЗрд╕рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж 027

 rsync --list-only ~/ 

6. рдЬреАрд░реЛ


рдПрдХ grep рдХреЗ рд╕рд╛рде, рдЖрдк рди рдХреЗрд╡рд▓ рд╡реИрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдИ-рдореЗрд▓ рдХреА рдЬрд╛рдВрдЪ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рдлрд╛рдЗрд▓реЗрдВ рднреА рдирд┐рдХрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВред kashtan404 рдФрд░
KorDen32 рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдЙрд╕рдХреА рд╢рдХреНрддрд┐ рдХреЗ рднреАрддрд░ рд╣реИ (рдЕрдзрд┐рдХ рд╕рд╣реА рд╡рд┐рдХрд▓реНрдк рдкрд░ рддрдп)ред

 grep -l '.*' ~/* ~/.* 2>/dev/null || grep -L '.*' ~/* ~/.* 2>/dev/null 

7. рдлрд╛рдЗрд▓


рд╕рдордЭрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рд╣рдореНрд╕рдЯрд░ рдореЗрдВ рдХрд┐рд╕ рддрд░рд╣ рдХреА рдлрд╛рдЗрд▓реЗрдВ рд╣реИрдВ? рдпрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдмрд╕ рдЙрдиреНрд╣реЗрдВ рд╕реВрдЪреА? 027 рдФрд░ POPSuL рдиреЗ рд╕рд╛рдмрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рд╡рд╣ рдРрд╕рд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИред

 file ~/* ~/.* 

8. рдкреНрд░рддрд┐рдорд╛


рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕рдВрдкреВрд░реНрдг рдлрд╝рд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд┐рддрд┐? рдЗрддрдирд╛ рд╣реА рдирд╣реАрдВ! рд╕реНрдЯреЗрдЯрд┐рдХрд▓реА рдЦрд╛рдирд╛ рдкрдХрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╕реЗ рдХрдо рддреАрди рддрд░реАрдХреЗ рд╣реИрдВред рдПрдХ рдореБрдЭрд╕реЗ рднреАред

 stat ~/* ~/.*|grep "/home"|awk '{print $2}' 

рдзреНрд░реБрд╡реАрдп_рдпреЛрдЧреА рджреНрд╡рд╛рд░рд╛ рдЕрдиреНрдп

 stat -c "%A %G:%U %s %x %n" * \.* 

рдФрд░ рдЖрдИрдЖрдИрдЬреА рд╕реЗ рддреАрд╕рд░рд╛

 stat *|awk '/File:/{print $2}' 

9. рд╕рд┐рд░


рдЕрд░рд┐рд╖реНрдЯреБрд╢реЛрд╡ - рд╕рд┐рд░! рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рд╕рд┐рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ!

 head -n 0 -v ~/* ~/.*|awk '{print $2}' 

10. рдЧреЗрдЯрдлреЗрдХрд▓


рдЗрд╕ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рдирд╛рдо рдкрд░ рдкреНрд░рдореБрдЦ рдкрддреНрд░ "рдПрдл" рд╣реИ рдФрд░ рдЬреЛрд░реЛ рдиреЗ рдЗрд╕реЗ рд╕рд╛рдмрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИ!

 getfacl ~/* ~/.* | grep "# file" | awk '{print $3}' 

11. рдЧрд┐рдд


рд╣рд╛рдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЧрд┐рдЯ рдХреЙрдорд░реЗрдб рдХреЙрд░реНрдХ рдиреЗ рдореБрдЭреЗ рдПрдХ рд╣рдореНрд╕рдЯрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рдо рдХрд┐рдпрд╛!

 git init ~/ ; curr=`pwd`; cd ~ ; git status; rm -rf .git; cd $curr ; curr='' 

12. рдмрд┐рд▓реНрд▓реА


рд╕рднреА рдХреЛ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рд╕реЗ рдкреНрдпрд╛рд░ рд╣реИред рд▓реЗрдХрд┐рди рдмреАрдПрд╕рдбреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛! рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ, рдмрд┐рд▓реНрд▓рд┐рдпрд╛рдБ рдЧрд▓рдд рдирд╕реНрд▓ рдХреА рд╣реЛрддреА рд╣реИрдВред :-( рдЙрдЬрд╝рд┐рдХреНрд╕ рдиреЗ рдЕрдкрдиреА рдмрд┐рд▓реНрд▓реА рдкрд░ рдЧрд░реНрд╡ рдХрд┐рдпрд╛ред

 cat ~ |strings |xargs -IX sh -c 'test -e X && echo X' 

13. рд▓рд╕рддреНрд░


lsattr рди рдХреЗрд╡рд▓ рдлрд╝рд╛рдЗрд▓ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдореВрд▓реНрдпрд╡рд╛рди рдЙрдкрдХрд░рдг рд╣реИ, рдмрд▓реНрдХрд┐ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реВрдЪреА рджрд░реНрд╢рдХ рднреА рд╣реИред рдиреЗрд╡рд┐рд▓ рдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдпрд╣ рдХреИрд╕реЗ рдХрд░рдирд╛ рд╣реИред

 lsattr ~/* ~/.* 2>&1 | grep -Po '/.*' 

рдЙрдкрд╕рдВрд╣рд╛рд░


рдореИрдВ рд╢рд╛рдпрдж рдПрдХ рджрд░реНрдЬрди рдкрд░ рд░рд╣ рд╕рдХрддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЬреЛ рд▓реЛрдЧ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ рд╡реЗ рдореВрд▓ рдкреЛрд╕реНрдЯ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЖрдирдВрдж рд▓реЗ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдкрд░реНрд▓, рд░реВрдмреА, рдЕрдЬрдЧрд░, php рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ C ++ рдкрд░ "рд╕рд┐рдВрдЧрд▓-рд▓рд╛рдЗрди" рд╡рд╛рд▓реЗ рдмрдиреЗ рд░рд╣реЗред

Source: https://habr.com/ru/post/hi467115/


All Articles