关键词: 路径(相对/绝对)、目录操作(特殊目录/目录处理/环境变量)、文件与目录验视(ls)https://blog.csdn.net/weixin_38872771
### title : directory operating command
#切换至root用户
[kingarthur@localhost ~]$ su -
Password:
Last login: Mon Mar 23 20:36:25 CST 2020 on pts/1
#cd后不加路径,则默认进入当前登录用户的家目录
[root@localhost ~]# cd
#cd ~account可进入account用户的家目录
[root@localhost ~]# cd ~kingarthur/
#cd ~进入当前登录用户的家目录
[root@localhost kingarthur]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd ~kingarthur/
[root@localhost kingarthur]# pwd
/home/kingarthur
#cd .. 返回至上层目录
[root@localhost ~]# cd ..
[root@localhost /]# pwd
/
#切换至上次使用的目录
[root@localhost /]# cd -
/root
#cd切换至mail路径下,/var/mail为连接档
[root@localhost ~]# cd /var/mail/
[root@localhost mail]# pwd
/var/mail
#cd -P输出当前路径的真实目录,而不是以链接文件的路径来显示
[root@localhost mail]# pwd -P
/var/spool/mail
[root@localhost mail]# ls -ld /var/mail/
drwxrwxr-x. 2 root mail 47 Mar 22 15:15 /var/mail/
[root@localhost mail]# ls -ld /var/mail
lrwxrwxrwx. 1 root root 10 Mar 18 07:55 /var/mail -> spool/mail
#查看 / 及 /var 目录下目录类型 d(目录) / l(链接文件)
[kingarthur@localhost ~]$ ls -al /var /
/:
total 28
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 Mar 18 14:28 boot
drwxr-xr-x. 20 root root 3320 Mar 26 02:44 dev
drwxr-xr-x. 175 root root 12288 Mar 22 18:06 etc
drwxr-xr-x. 3 root root 24 Mar 18 08:29 home
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Mar 18 07:55 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 3 root root 16 Mar 18 08:20 opt
dr-xr-xr-x. 226 root root 0 Mar 26 02:44 proc
dr-xr-x---. 6 root root 219 Mar 19 07:48 root
drwxr-xr-x. 55 root root 1540 Mar 26 02:45 run
lrwxrwxrwx. 1 root root 8 Mar 18 07:55 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Mar 26 02:44 sys
drwxrwxrwt. 38 root root 4096 Mar 26 03:36 tmp
drwxr-xr-x. 13 root root 155 Mar 18 07:55 usr
drwxr-xr-x. 24 root root 4096 Mar 18 14:27 var
/var:
total 20
drwxr-xr-x. 24 root root 4096 Mar 18 14:27 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
lrwxrwxrwx. 1 root root 6 Mar 18 07:54 run -> ../run
drwxr-xr-x. 13 root root 153 Mar 18 08:19 spool
drwxr-xr-x. 4 root root 28 Mar 18 08:04 target
drwxrwxrwt. 18 root root 4096 Mar 26 02:46 tmp
-rw-r--r--. 1 root root 163 Mar 18 07:55 .updated
drwxr-xr-x. 4 root root 33 Mar 18 08:03 www
drwxr-xr-x. 2 root root 6 Apr 11 2018 yp
[kingarthur@localhost ~]$ ls -al /var
total 20
lrwxrwxrwx. 1 root root 11 Mar 18 07:54 lock -> ../run/lock
drwxr-xr-x. 30 root root 4096 Mar 26 03:36 log
lrwxrwxrwx. 1 root root 10 Mar 18 07:55 mail -> spool/mail
drwxrwx--T. 7 root named 159 Mar 18 08:18 named
drwxr-xr-x. 2 root root 6 Apr 11 2018 preserve
lrwxrwxrwx. 1 root root 6 Mar 18 07:54 run -> ../run
drwxr-xr-x. 13 root root 153 Mar 18 08:19 spool
drwxr-xr-x. 4 root root 28 Mar 18 08:04 target
drwxrwxrwt. 18 root root 4096 Mar 26 02:46 tmp
-rw-r--r--. 1 root root 163 Mar 18 07:55 .updated
drwxr-xr-x. 4 root root 33 Mar 18 08:03 www
drwxr-xr-x. 2 root root 6 Apr 11 2018 yp
#创建目录 mkdir -p 递归建立目录
[kingarthur@localhost tmp]$ mkdir -p test1/test2/test3/test4
[kingarthur@localhost tmp]$ ls -al test
total 4
drwxrwxr-x. 2 kingarthur kingarthur 6 Mar 26 03:54 .
drwxrwxrwt. 40 root root 4096 Mar 26 04:01 ..
[kingarthur@localhost tmp]$ ls -al test1
total 4
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 .
drwxrwxrwt. 40 root root 4096 Mar 26 04:01 ..
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 test2
#查看 tmp 目录下的 test* 文件
[kingarthur@localhost tmp]$ ls test*
test:
test1:
test2
[kingarthur@localhost tmp]$ ls -al test*
test:
total 4
drwxrwxr-x. 2 kingarthur kingarthur 6 Mar 26 03:54 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:28 ..
test1:
total 4
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:28 ..
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 test2
#将 test* 目录权限均更改为 777
[kingarthur@localhost tmp]$ chmod 777 test*
[kingarthur@localhost tmp]$ ls -al test*
test:
total 4
drwxrwxrwx. 2 kingarthur kingarthur 6 Mar 26 03:54 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:30 ..
#当前目录下目录/文件权限均更改,下级目录权限未更改
test1:
total 4
drwxrwxrwx. 3 kingarthur kingarthur 19 Mar 26 03:55 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:30 ..
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 test2
#创建 test_mkdir_m 目录,并设置目录权限为 777
[kingarthur@localhost tmp]$ mkdir -m 777 ./test/test_mkdir_m
[kingarthur@localhost tmp]$ ls -al ./test/
total 4
drwxrwxrwx. 3 kingarthur kingarthur 26 Mar 26 20:38 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:38 ..
drwxrwxrwx. 2 kingarthur kingarthur 6 Mar 26 20:38 test_mkdir_m
#将目录 /test/test_mkdir_m权限更改为 664
[kingarthur@localhost tmp]$ chmod 664 ./test/test_mkdir_m
[kingarthur@localhost tmp]$ ls -al ./test/test_mkdir_m/
#无权限????后续试验中,成功,本次异常未能重复
ls: cannot access ./test/test_mkdir_m/.: Permission denied
ls: cannot access ./test/test_mkdir_m/..: Permission denied
total 0
d????????? ? ? ? ? ? .
d????????? ? ? ? ? ? ..
[kingarthur@localhost tmp]$ ls -al ./test/
total 4
drwxrwxrwx. 3 kingarthur kingarthur 26 Mar 26 20:38 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:39 ..
drw-rw-r--. 2 kingarthur kingarthur 6 Mar 26 20:38 test_mkdir_m
#目录 test_mkdir_m 无权访问,因为无 x 权限 ????,后续试验验证猜测正确
[kingarthur@localhost tmp]$ cd /tmp/test/test_mkdir_m/
-bash: cd: /tmp/test/test_mkdir_m/: Permission denied
#查看 test 目录结构
[kingarthur@localhost /]$ ls -al /tmp/test*
/tmp/test:
total 4
drwxrwxrwx. 3 kingarthur kingarthur 26 Mar 26 20:38 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:54 ..
drw-rw-r--. 2 kingarthur kingarthur 6 Mar 26 20:38 test_mkdir_m
/tmp/test1:
total 4
drwxrwxrwx. 3 kingarthur kingarthur 19 Mar 26 03:55 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:54 ..
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 26 03:55 test2
#移除目录 test_mkdir_m
[kingarthur@localhost /]$ rmdir /tmp/test/test_mkdir_m
[kingarthur@localhost /]$ ls -al /tmp/test
total 4
drwxrwxrwx. 2 kingarthur kingarthur 6 Mar 26 20:55 .
drwxrwxrwt. 40 root root 4096 Mar 26 20:55 ..
#目录 test1 移除失败,rmdir 删除空的目录
[kingarthur@localhost /]$ rmdir /tmp/test1
rmdir: failed to remove ‘/tmp/test1’: Directory not empty
#移除目录 -p 可以连同上层空的目录一起删除,
[kingarthur@localhost /]$ rmdir -p /tmp/test1/test2/test3/test4/
#用户 kingarthur 不具 / 权限
rmdir: failed to remove directory ‘/tmp’: Permission denied
[kingarthur@localhost /]$ cd /tmp
[kingarthur@localhost tmp]$ rmdir -p ./test1/test2/test3/test4/
#移除成功,再次执行,报错
rmdir: failed to remove ‘./test1/test2/test3/test4/’: No such file or directory
[kingarthur@localhost tmp]$ ls -al test1
ls: cannot access test1: No such file or directory
#再次测试 test 目录下文件移除与权限
#创建test_authenrity目录权限为 777
[kingarthur@localhost tmp]$ mkdir -p -m 777 ./test/test_authenrity
[kingarthur@localhost tmp]$ ls -al ./test
total 4
drwxrwxr-x. 3 kingarthur kingarthur 29 Mar 26 21:03 .
drwxrwxrwt. 39 root root 4096 Mar 26 21:03 ..
drwxrwxrwx. 2 kingarthur kingarthur 6 Mar 26 21:03 test_authenrity
[kingarthur@localhost tmp]$ ls -al ./test/test_authenrity/
total 0
drwxrwxrwx. 2 kingarthur kingarthur 6 Mar 26 21:03 .
drwxrwxr-x. 3 kingarthur kingarthur 29 Mar 26 21:03 ..
#移除 test 目录 及目录下 test_authenrity 目录
[kingarthur@localhost tmp]$ rmdir -p ./test/test_authenrity
rmdir: failed to remove directory ‘.’: Invalid argument
#当前目录 tmp 不具有移除权限,test 目录 及目录下 test_authenrity 目录被移除
[kingarthur@localhost tmp]$ ls -al test*
ls: cannot access test*: No such file or directory
#命令参数 -a 输出全部目录或文件信息,包括 '.' '..'
#参数 -l 以长格式输出,包括属性(文件&目录),以及用户权限信息
[kingarthur@localhost ~]$ ls -al
total 280
drwx------. 18 kingarthur kingarthur 4096 Mar 26 02:44 .
drwxr-xr-x. 3 root root 24 Mar 18 08:29 ..
-rw-------. 1 kingarthur kingarthur 3266 Mar 25 08:10 .bash_history
-rw-r--r--. 1 kingarthur kingarthur 18 Oct 31 2018 .bash_logout
-rw-r--r--. 1 kingarthur kingarthur 193 Oct 31 2018 .bash_profile
-rw-r--r--. 1 kingarthur kingarthur 231 Oct 31 2018 .bashrc
drwx------. 16 kingarthur kingarthur 4096 Mar 18 14:29 .cache
drwxr-xr-x. 14 kingarthur kingarthur 4096 Mar 19 16:31 .config
drwx------. 3 kingarthur kingarthur 25 Mar 18 14:28 .dbus
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Desktop
drwxr-xr-x. 3 kingarthur kingarthur 19 Mar 22 15:10 Documents
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Downloads
-rw-------. 1 kingarthur kingarthur 16 Mar 18 14:28 .esd_auth
#同时列出 /var 与 / 目录档信息
[kingarthur@localhost ~]$ ls -al /var /
/:
total 28
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 Mar 18 14:28 boot
drwxr-xr-x. 20 root root 3320 Mar 26 02:44 dev
drwxr-xr-x. 175 root root 12288 Mar 22 18:06 etc
/var:
total 20
drwxr-xr-x. 24 root root 4096 Mar 18 14:27 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
drwxr-xr-x. 2 root root 19 Mar 18 08:19 account
drwxr-xr-x. 2 root root 6 Apr 11 2018 adm
lrwxrwxrwx. 1 root root 11 Mar 18 07:54 lock -> ../run/lock
drwxr-xr-x. 30 root root 4096 Mar 26 03:36 log
lrwxrwxrwx. 1 root root 10 Mar 18 07:55 mail -> spool/mail
#创建测试目录
[kingarthur@localhost tmp]$ mkdir test
#当路径中有不存在的目录时, '-p' 参数来进行创建
[kingarthur@localhost tmp]$ mkdir -p test1/test2/test3/test4
#命令 pstree, 'tree'命令经测试无法通过 yum / dnf 安装,需手动下载package
[kingarthur@localhost tmp]$ pstree
systemd─┬─ModemManager───2*[{ModemManager}]
├─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─2*[abrt-watch-log]
├─abrtd
├─accounts-daemon───2*[{accounts-daemon}]
├─alsactl
├─at-spi-bus-laun─┬─dbus-daemon───{dbus-daemon}
│ └─3*[{at-spi-bus-laun}]
├─at-spi2-registr───2*[{at-spi2-registr}]
├─atd
├─auditd─┬─audispd─┬─sedispatch
│ │ └─{audispd}
│ └─{auditd}
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─boltd───2*[{boltd}]
├─colord───2*[{colord}]
├─crond
├─cupsd
├─2*[dbus-daemon───{dbus-daemon}]
├─dbus-launch
├─dconf-service───2*[{dconf-service}]
├─dnsmasq───dnsmasq
├─evolution-addre─┬─evolution-addre───5*[{evolution-addre}]
│ └─4*[{evolution-addre}]
├─evolution-calen─┬─evolution-calen───8*[{evolution-calen}]
│ └─4*[{evolution-calen}]
├─evolution-sourc───3*[{evolution-sourc}]
├─firewalld───{firewalld}
├─fwupd───4*[{fwupd}]
├─gdm─┬─X───3*[{X}]
│ ├─gdm-session-wor─┬─gnome-session-b─┬─abrt-applet───2*[{abrt-applet}]
│ │ │ ├─gnome-shell─┬─ibus-daemon─┬─ibus-dconf───3*[{ibus-dconf}]
│ │ │ │ │ ├─ibus-engine-sim───2*[{ibus-engine-sim}]
│ │ │ │ │ └─2*[{ibus-daemon}]
│ │ │ │ └─14*[{gnome-shell}]
│ │ │ ├─gnome-software───3*[{gnome-software}]
│ │ │ ├─gsd-a11y-settin───3*[{gsd-a11y-settin}]
│ │ │ ├─gsd-account───3*[{gsd-account}]
│ │ │ ├─gsd-clipboard───2*[{gsd-clipboard}]
│ │ │ ├─gsd-color───3*[{gsd-color}]
│ │ │ ├─gsd-datetime───3*[{gsd-datetime}]
│ │ │ ├─gsd-disk-utilit───2*[{gsd-disk-utilit}]
│ │ │ ├─gsd-housekeepin───3*[{gsd-housekeepin}]
│ │ │ ├─gsd-keyboard───3*[{gsd-keyboard}]
│ │ │ ├─gsd-media-keys───3*[{gsd-media-keys}]
│ │ │ ├─gsd-mouse───3*[{gsd-mouse}]
│ │ │ ├─gsd-power───3*[{gsd-power}]
│ │ │ ├─gsd-print-notif───2*[{gsd-print-notif}]
│ │ │ ├─gsd-rfkill───2*[{gsd-rfkill}]
│ │ │ ├─gsd-screensaver───2*[{gsd-screensaver}]
│ │ │ ├─gsd-sharing───3*[{gsd-sharing}]
│ │ │ ├─gsd-smartcard───4*[{gsd-smartcard}]
│ │ │ ├─gsd-sound───3*[{gsd-sound}]
│ │ │ ├─gsd-wacom───2*[{gsd-wacom}]
│ │ │ ├─gsd-xsettings───3*[{gsd-xsettings}]
│ │ │ ├─nautilus-deskto───3*[{nautilus-deskto}]
│ │ │ ├─seapplet
│ │ │ ├─ssh-agent
│ │ │ ├─tracker-extract───13*[{tracker-extract}]
│ │ │ ├─tracker-miner-a───3*[{tracker-miner-a}]
│ │ │ ├─tracker-miner-f───3*[{tracker-miner-f}]
│ │ │ ├─tracker-miner-u───3*[{tracker-miner-u}]
│ │ │ └─3*[{gnome-session-b}]
│ │ └─2*[{gdm-session-wor}]
│ └─3*[{gdm}]
├─gnome-keyring-d───3*[{gnome-keyring-d}]
├─gnome-shell-cal───5*[{gnome-shell-cal}]
├─goa-daemon───4*[{goa-daemon}]
├─goa-identity-se───3*[{goa-identity-se}]
├─gsd-printer───2*[{gsd-printer}]
├─gssproxy───5*[{gssproxy}]
├─gvfs-afc-volume───3*[{gvfs-afc-volume}]
├─gvfs-goa-volume───2*[{gvfs-goa-volume}]
├─gvfs-gphoto2-vo───2*[{gvfs-gphoto2-vo}]
├─gvfs-mtp-volume───2*[{gvfs-mtp-volume}]
├─gvfs-udisks2-vo───2*[{gvfs-udisks2-vo}]
├─gvfsd─┬─gvfsd-trash───2*[{gvfsd-trash}]
│ └─2*[{gvfsd}]
├─gvfsd-fuse───5*[{gvfsd-fuse}]
├─ibus-daemon─┬─ibus-dconf───3*[{ibus-dconf}]
│ └─2*[{ibus-daemon}]
├─ibus-portal───2*[{ibus-portal}]
├─2*[ibus-x11───2*[{ibus-x11}]]
├─irqbalance
├─ksmtuned───sleep
├─libvirtd───16*[{libvirtd}]
├─lsmd
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─mcelog
├─mission-control───3*[{mission-control}]
├─packagekitd───2*[{packagekitd}]
├─polkitd───6*[{polkitd}]
├─pulseaudio───2*[{pulseaudio}]
├─rngd
├─rpcbind
├─rsyslogd───2*[{rsyslogd}]
├─rtkit-daemon───2*[{rtkit-daemon}]
├─smartd
├─sshd───sshd───sshd───bash───pstree
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tracker-store───7*[{tracker-store}]
├─tuned───4*[{tuned}]
├─udisksd───4*[{udisksd}]
├─upowerd───2*[{upowerd}]
├─vmtoolsd───{vmtoolsd}
├─vmtoolsd───2*[{vmtoolsd}]
├─wpa_supplicant
└─xdg-permission-───2*[{xdg-permission-}]
[kingarthur@localhost ~]$ pwd
/home/kingarthur
[kingarthur@localhost ~]$ ls /
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[kingarthur@localhost ~]$ cd /bin
[kingarthur@localhost bin]$ ls
[ gnome-boxes migratecred rvi
5250keys gnome-calculator migratepages rview
a2p gnome-character-map migspeed rvim
##本小节测试移动 ls 命令至其他路径后, ls 能否直接执行与解决方案
##本次会将 /bin 下的 ls 命令移动至 /root/bin 下
##之后测试 root 与 kingarthur 执行 ls 命令符出现问题及解决
#查看路径下是否存在以及其属性 /bin/ls
[kingarthur@localhost bin]$ ls -al ls
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
#查看 ls 文档内容,均为乱码,部分发行版当中 alias ls -l = ll
[kingarthur@localhost bin]$ vi ls
[kingarthur@localhost bin]$ ls -al ll
ls: cannot access ll: No such file or directory
#查看 kingarthur 环境变量
[kingarthur@localhost bin]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kingarthur/.local/bin:/home/kingarthur/bin
#切换至 root 用户
[kingarthur@localhost bin]$ su -
Password:
Last login: Tue Mar 24 21:44:25 CST 2020 on pts/1
Last failed login: Fri Mar 27 08:31:44 CST 2020 on pts/1
There was 1 failed login attempt since the last successful login.
#查看 root 环境变量
[root@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# cd ~
[root@localhost ~]# pwd
/root
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@localhost ~]# cd /
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
#查看当前目录下 ./bin 档详情,此档为 链接档
[root@localhost /]# ls -al ./bin
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 ./bin -> usr/bin
#查看 /root 下是否存在并创建 /root/bin 路径
[root@localhost /]# ls /root/bin
ls: cannot access /root/bin: No such file or directory
anaconda-ks.cfg initial-setup-ks.cfg
[root@localhost /]# ls /bin
[ gnome-boxes migratecred rvi
5250keys gnome-calculator migratepages rview
a2p gnome-character-map migspeed rvim
ab gnome-clocks minfo rx
#仅查看 /bin/ls
[root@localhost /]# ls /bin/ls
/bin/ls
#将 /bin/ls 移动至 /root
[root@localhost /]# mv /bin/ls /root
#此时 ls 命令已经不可用,报错信息提示 "/bin/ls" no ,当前系统并未识别 /root/ls
[root@localhost /]# ls /bin/ls
-bash: /bin/ls: No such file or directory
#此时 ls 命令已经不可用
[root@localhost /]# ls /root
-bash: /bin/ls: No such file or directory
[root@localhost bin]# cd /root
#由于 ls 命令暂不可用,通过 vi 查看文档,确认 ls 已成功移动
[root@localhost ~]# vi ls
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /
[root@localhost /]# cd bin
[root@localhost bin]# vi ls
[root@localhost bin]# man mv
[root@localhost bin]# cd /root
#通过指定 /root/ls 再次成功调用 ls 命令
[root@localhost ~]# /root/ls
anaconda-ks.cfg initial-setup-ks.cfg ls
[root@localhost ~]# /root/ls -al /bin/ls
/root/ls: cannot access /bin/ls: No such file or directory
[root@localhost ~]# /root/ls -al /bin/*l*s*
-rwxr-xr-x. 1 root root 11304 Nov 14 2018 /bin/abrt-action-analyze-oops
-rwxr-xr-x. 1 root root 3207 Nov 14 2018 /bin/abrt-action-list-dsos
-rwxr-xr-x. 1 root root 3535 Nov 14 2018 /bin/abrt-action-perform-ccpp-analysis
#返回 /root 路径,并创建 /root/bin 路径,将 ls 移动至 /root/bin
[root@localhost ~]# cd /root
[root@localhost ~]# pwd
/root
[root@localhost ~]# mkdir ./bin
[root@localhost ~]# mv ./ls ./bin
[root@localhost ~]# /root/bin/ls -al /root /root/bin
/root:
total 32
dr-xr-x---. 7 root root 230 Mar 27 09:02 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
-rw-------. 1 root root 2164 Mar 18 08:30 anaconda-ks.cfg
-rw-------. 1 root root 1160 Mar 25 08:10 .bash_history
-rw-r--r--. 1 root root 18 Dec 29 2013 .bash_logout
-rw-r--r--. 1 root root 176 Dec 29 2013 .bash_profile
-rw-r--r--. 1 root root 176 Dec 29 2013 .bashrc
drwxr-xr-x. 2 root root 16 Mar 27 09:02 bin
/root/bin:
total 116
drwxr-xr-x. 2 root root 16 Mar 27 09:02 .
dr-xr-x---. 7 root root 230 Mar 27 09:02 ..
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
#用户 root PATH 环境变量存在 /root/bin ,此路径并不存在,
#但此处人为创建 /root/bin 后,系统并不能直接调用该路径下 ls 指令
[root@localhost ~]# ls
-bash: /bin/ls: No such file or directory
[root@localhost ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd bin
[root@localhost bin]# pwd
/root/bin
#普通用户 kingarthur 执行指令 ls , 无权限进入 root 路径
[kingarthur@localhost ~]$ pwd
/home/kingarthur
[kingarthur@localhost ~]$ cd /root
-bash: cd: /root: Permission denied
[kingarthur@localhost ~]$ su -
Password:
Last login: Fri Mar 27 08:31:53 CST 2020 on pts/1
bash: ls: command not found...
Similar command is: 'lz'
[root@localhost ~]# cd /root
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd bin
[root@localhost bin]# less ls
"ls" may be a binary file. See it anyway?
[root@localhost bin]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost bin]# pwd
/root/bin
[root@localhost bin]# /root/bin/ls -al
total 116
drwxr-xr-x. 2 root root 16 Mar 27 09:02 .
dr-xr-x---. 7 root root 230 Mar 27 09:02 ..
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
[root@localhost bin]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost bin]# /root/bin/ls /bin
[ gnome-boxes migratepages rview
5250keys gnome-calculator migspeed rvim
a2p gnome-character-map minfo rx
ab gnome-clocks mixartloader rxe_cfg
[root@localhost bin]# /root/bin/ls /bin/*ls*
/bin/alsabat /bin/gnutls-serv /bin/lsdiff /bin/lstopo-no-graphics /bin/nl-cls-list /bin/vmtoolsd
/bin/alsa-delay /bin/grub2-menulst2cfg /bin/lsinitrd /bin/lsusb /bin/pulseaudio /bin/xlsatoms
/bin/alsaloop /bin/gupnp-dlna-ls-profiles-2.0 /bin/lsipc /bin/lsusb.py /bin/sg_referrals /bin/xlsclients
/bin/lssubsys /bin/nl-cls-delete /bin/tclsh8.5
#用户 root 切换至 kingarthur 时报错 'ls' 说明切换过程中有调用 ls 指令
#但由用户 kingarthur 切换至 root 时却无报错
[root@localhost bin]# su kingarthur
bash: ls: command not found
[kingarthur@localhost bin]$ su kingarthur
Password:
bash: ls: command not found
[kingarthur@localhost bin]$ su
Password:
[root@localhost bin]# su kingarthur
bash: ls: command not found
[kingarthur@localhost bin]$ su kingarthur
Password:
bash: ls: command not found
[kingarthur@localhost bin]$ su root
Password:
[root@localhost bin]# su
[root@localhost bin]# su kingarthur
bash: ls: command not found
[kingarthur@localhost bin]$ su root
Password:
#用户 kingarthur 执行 ls 指令,权限不足
[kingarthur@localhost bin]$ /root/bin/ls -al
bash: /root/bin/ls: Permission denied
#切换用户至 root ,在 /root/bin 下执行 ls 指令
[root@localhost bin]# pwd
/root/bin
[root@localhost bin]# ls
ls
[root@localhost bin]# ls -al
total 116
drwxr-xr-x. 2 root root 16 Mar 27 09:02 .
dr-xr-x---. 7 root root 230 Mar 27 09:02 ..
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
[root@localhost bin]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
#添加环境变量, /root 路径添加至 PATH
[root@localhost bin]# PATH="${PATH}:/root"
[root@localhost bin]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root
[root@localhost bin]# ls -al
total 116
drwxr-xr-x. 2 root root 16 Mar 27 09:02 .
dr-xr-x---. 7 root root 230 Mar 27 09:02 ..
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
[root@localhost bin]# cd /
[root@localhost /]# ls -al
total 28
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 .
dr-xr-xr-x. 17 root root 224 Mar 18 08:29 ..
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 bin -> usr/bin
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
#切换至 kingarthur 后,即使已添加环境变量 /root ,但普通用户 kingarthur 依旧无权限
#可通过用户 root 修改 /root 目录其他用户权限实现 kingarthur 用户调用 ls
[root@localhost /]# su kingarthur
bash: ls: command not found
[kingarthur@localhost /]$ ls
bash: ls: command not found...
Similar command is: 'lz'
[kingarthur@localhost /]$ ls -al
bash: ls: command not found...
Similar command is: 'lz'
[kingarthur@localhost /]$ su -
Password:
Last login: Sat Mar 28 11:04:33 CST 2020 on pts/0
#此处 普通用户切换至 root 用户,出现 'ls'报错???
bash: ls: command not found...
Similar command is: 'lz'
#此处切换用户前后,所在工作路径发生该改变?????
#用户 root 所在路径为 /root ,切换至普通用户 kingarthur 后
#工作路径仍然为 /root ,无误。但由普通用户 kingarthur 所在路径 /home/kingarthur
#切换至跟用户 root 时,工作路径更改为 /root
[root@localhost ~]# su kingarthur
bash: ls: command not found
[kingarthur@localhost root]$ pwd
/root
[kingarthur@localhost root]$ cd ~
[kingarthur@localhost ~]$ pwd
/home/kingarthur
[kingarthur@localhost ~]$ su -
Password:
Last login: Sat Mar 28 11:05:06 CST 2020 on pts/0
Last failed login: Sat Mar 28 11:09:54 CST 2020 on pts/0
There were 2 failed login attempts since the last successful login.
bash: ls: command not found...
Similar command is: 'lz'
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /bin
[root@localhost bin]# ls
[ gnome-boxes migratepages rview
5250keys gnome-calculator migspeed rvim
a2p gnome-character-map minfo rx
[root@localhost bin]# ls -al *ls*
lrwxrwxrwx. 1 root root 18 Mar 18 08:19 hwloc-ls -> lstopo-no-graphics
-rwxr-xr-x. 1 root root 11608 Aug 4 2017 idiag-socket-details
-rwxr-xr-x. 1 root root 11440 May 22 2017 kmailservice
-rwxr-xr-x. 1 root root 11600 Oct 31 2018 lsattr
-rwxr-xr-x. 1 root root 81104 Oct 31 2018 lsblk
-rwxr-xr-x. 1 root root 15728 Oct 31 2018 lscgroup
-rwxr-xr-x. 1 root root 62240 Oct 31 2018 lscpu
lrwxrwxrwx. 1 root root 10 Mar 18 08:20 lsdiff -> filterdiff
-rwxr-xr-x. 1 root root 6410 Nov 3 2018 lsinitrd
-rwxr-xr-x. 1 root root 62480 Oct 31 2018 lsipc
-rwxr-xr-x. 1 root root 42032 Oct 31 2018 lslocks
-rwxr-xr-x. 1 root root 54216 Oct 31 2018 lslogins
-rwxr-xr-x. 1 root root 945 Oct 31 2018 lsmcli
-rwxr-xr-x. 1 root root 24096 Oct 31 2018 lsmd
-rwxr-xr-x. 1 root root 41792 Oct 31 2018 lsmem
-rwxr-xr-x. 1 root root 37360 Oct 31 2018 lsns
-rwxr-xr-x. 1 root root 57832 Aug 3 2017 lsscsi
[root@localhost bin]# ls *ls*
alsabat false idiag-socket-details lsipc lssubsys mysqlshow sim_lsmplugin xlsatoms
alsa-delay gnutls-cli kmailservice lslocks lstopo-no-graphics mysqlslap smbcacls xlsclients
alsaloop gnutls-cli-debug lsattr lslogins lsusb nl-cls-add snmptls xlsfonts
alsamixer gnutls-serv lsblk lsmcli lsusb.py nl-cls-delete start-pulseaudio-x11 xmlsec1
alsatplg grub2-menulst2cfg lscgroup lsmd mailstat nl-cls-list systemd-cgls zipdetails
alsaucm gupnp-dlna-ls-profiles-2.0 lscpu lsmem mpls_dump pulseaudio tclsh
alsaunmute gvfs-ls lsdiff lsns mtools sg_referrals tclsh8.5
enchant-lsmod hwloc-ls lsinitrd lsscsi mtoolstest simc_lsmplugin vmtoolsd
[root@localhost bin]# cd /root/bin
[root@localhost bin]# ls -al
total 116
drwxr-xr-x. 2 root root 16 Mar 27 09:02 .
dr-xr-x---. 7 root root 230 Mar 27 09:02 ..
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
#将 /root/bin/ls 移动至原路径 /bin
[root@localhost bin]# mv ./ls /bin
#此时 /bin/ls 指令还未生效,退出登录,重新登录生效
[root@localhost bin]# ls -al
-bash: /root/bin/ls: No such file or directory
[root@localhost bin]# exit
logout
[kingarthur@localhost ~]$ su -
Password:
Last login: Sat Mar 28 11:10:02 CST 2020 on pts/0
[root@localhost ~]# pwd
/root
#指令 ls 已成功移动
[root@localhost bin]# ls *ls*
alsabat false idiag-socket-details lsinitrd lsscsi mtoolstest simc_lsmplugin vmtoolsd
alsa-delay gnutls-cli kmailservice lsipc lssubsys mysqlshow sim_lsmplugin xlsatoms
alsaloop gnutls-cli-debug ls lslocks lstopo-no-graphics mysqlslap smbcacls xlsclients
alsamixer gnutls-serv lsattr lslogins lsusb nl-cls-add snmptls xlsfonts
alsatplg grub2-menulst2cfg lsblk lsmcli lsusb.py nl-cls-delete start-pulseaudio-x11 xmlsec1
alsaucm gupnp-dlna-ls-profiles-2.0 lscgroup lsmd mailstat nl-cls-list systemd-cgls zipdetails
alsaunmute gvfs-ls lscpu lsmem mpls_dump pulseaudio tclsh
enchant-lsmod hwloc-ls lsdiff lsns mtools sg_referrals tclsh8.5
[root@localhost bin]# ls -al ls
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
[root@localhost bin]# su kingarthur
[kingarthur@localhost bin]$ pwd
/bin
[kingarthur@localhost bin]$ ls -al
total 359660
dr-xr-xr-x. 2 root root 73728 Mar 28 11:13 .
drwxr-xr-x. 13 root root 155 Mar 18 07:55 ..
-rwxr-xr-x. 1 root root 41544 Oct 31 2018 [
lrwxrwxrwx. 1 root root 6 Mar 18 07:57 zsoelim -> soelim
[kingarthur@localhost bin]$ ls
[ gnome-boxes migratecred rvi
5250keys gnome-calculator migratepages rview
a2p gnome-character-map migspeed rvim
ab gnome-clocks minfo rx
abrt-action-analyze-backtrace gnome-contacts mixartloader rxe_cfg
[kingarthur@localhost bin]$ ls ~
Desktop Documents Downloads Music Pictures Public README README.1 README.2 README.3 Templates test_tty1 Videos
[kingarthur@localhost bin]$ su -
Password:
Last login: Sat Mar 28 11:14:00 CST 2020 on pts/0
[root@localhost ~]# cd /root
[root@localhost ~]# ls
anaconda-ks.cfg bin initial-setup-ks.cfg
#移除 bin 目录
#直接执行 rm 报错,加参数 -d 后执行成功
[root@localhost ~]# rm -iv bin
rm: cannot remove ‘bin’: Is a directory
#参数 -d 指定移除对象为 目录
[root@localhost ~]# rm -div bin
rm: remove directory ‘bin’? Y
removed directory: ‘bin’
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg
[root@localhost bin]# ls -al ls
-rwxr-xr-x. 1 root root 117680 Oct 31 2018 ls
#查看仅列出目录本身 -d
[kingarthur@localhost ~]$ ls -d /tmp/
/tmp/
[kingarthur@localhost ~]$ ls -d ./Documents/
./Documents/
[kingarthur@localhost ~]$ ls /root/bin
ls: cannot access /root/bin: Permission denied
[kingarthur@localhost ~]$ cd /
#参数 -A 列出全部文件,包括隐藏档,但不包括 '.' '..'两个目录
#参数 -l 长数据串列出,包含文件属性与权限等
#参数 -d 仅列出目录本身
[kingarthur@localhost /]$ ls -Ald ./root
dr-xr-x---. 6 root root 219 Mar 28 11:19 ./root
#不依据文件特性给予颜色显示
[kingarthur@localhost /]$ ls -alF --color=never ~
total 284
drwx------. 18 kingarthur kingarthur 4096 Mar 27 08:24 ./
drwxr-xr-x. 3 root root 24 Mar 18 08:29 ../
-rw-------. 1 kingarthur kingarthur 4710 Mar 27 20:39 .bash_history
-rw-r--r--. 1 kingarthur kingarthur 18 Oct 31 2018 .bash_logout
-rw-r--r--. 1 kingarthur kingarthur 193 Oct 31 2018 .bash_profile
-rw-r--r--. 1 kingarthur kingarthur 231 Oct 31 2018 .bashrc
drwx------. 16 kingarthur kingarthur 4096 Mar 18 14:29 .cache/
drwxr-xr-x. 14 kingarthur kingarthur 4096 Mar 19 16:31 .config/
drwx------. 3 kingarthur kingarthur 25 Mar 18 14:28 .dbus/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Desktop/
drwxr-xr-x. 3 kingarthur kingarthur 19 Mar 22 15:10 Documents/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Downloads/
-rw-------. 1 kingarthur kingarthur 16 Mar 18 14:28 .esd_auth
-rw-------. 1 kingarthur kingarthur 3414 Mar 26 02:44 .ICEauthority
drwx------. 3 kingarthur kingarthur 123 Mar 19 16:31 .kde/
drwxrwxr-x. 3 kingarthur kingarthur 19 Mar 18 14:28 .local/
drwxr-xr-x. 6 kingarthur kingarthur 81 Mar 18 14:29 .mozilla/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Music/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Pictures/
drwxrw----. 3 kingarthur kingarthur 19 Mar 21 04:08 .pki/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Public/
-rw-rw-r--. 1 kingarthur kingarthur 57761 Jul 10 2019 README
-rw-rw-r--. 1 kingarthur kingarthur 57761 Jul 10 2019 README.1
-rw-rw-r--. 1 kingarthur kingarthur 57761 Jul 10 2019 README.2
-rw-rw-r--. 1 kingarthur kingarthur 57761 Jul 10 2019 README.3
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Templates/
drwxrwxr-x. 2 kingarthur kingarthur 6 Mar 19 07:31 test_tty1/
drwxr-xr-x. 2 kingarthur kingarthur 6 Mar 18 14:28 Videos/
-rw-------. 1 kingarthur kingarthur 943 Mar 27 08:24 .viminfo
#显示文件详细时刻
[kingarthur@localhost /]$ ls -al --full-time ~
total 284
drwx------. 18 kingarthur kingarthur 4096 2020-03-27 08:24:02.765008750 +0800 .
drwxr-xr-x. 3 root root 24 2020-03-18 08:29:03.537920547 +0800 ..
-rw-------. 1 kingarthur kingarthur 4710 2020-03-27 20:39:07.590010465 +0800 .bash_history
-rw-r--r--. 1 kingarthur kingarthur 18 2018-10-31 01:07:12.000000000 +0800 .bash_logout
-rw-r--r--. 1 kingarthur kingarthur 193 2018-10-31 01:07:12.000000000 +0800 .bash_profile
-rw-r--r--. 1 kingarthur kingarthur 231 2018-10-31 01:07:12.000000000 +0800 .bashrc
drwx------. 16 kingarthur kingarthur 4096 2020-03-18 14:29:33.129996835 +0800 .cache
drwxr-xr-x. 14 kingarthur kingarthur 4096 2020-03-19 16:31:26.282002671 +0800 .config
drwx------. 3 kingarthur kingarthur 25 2020-03-18 14:28:27.862998304 +0800 .dbus
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.057998209 +0800 Desktop
drwxr-xr-x. 3 kingarthur kingarthur 19 2020-03-22 15:10:14.004686964 +0800 Documents
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.057998209 +0800 Downloads
-rw-------. 1 kingarthur kingarthur 16 2020-03-18 14:28:29.588998265 +0800 .esd_auth
-rw-------. 1 kingarthur kingarthur 3414 2020-03-26 02:44:57.834999114 +0800 .ICEauthority
drwx------. 3 kingarthur kingarthur 123 2020-03-19 16:31:26.954002698 +0800 .kde
drwxrwxr-x. 3 kingarthur kingarthur 19 2020-03-18 14:28:28.464998290 +0800 .local
drwxr-xr-x. 6 kingarthur kingarthur 81 2020-03-18 14:29:27.869996953 +0800 .mozilla
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.059998209 +0800 Music
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.059998209 +0800 Pictures
drwxrw----. 3 kingarthur kingarthur 19 2020-03-21 04:08:15.519045159 +0800 .pki
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.057998209 +0800 Public
-rw-rw-r--. 1 kingarthur kingarthur 57761 2019-07-10 23:07:53.000000000 +0800 README
-rw-rw-r--. 1 kingarthur kingarthur 57761 2019-07-10 23:07:53.000000000 +0800 README.1
-rw-rw-r--. 1 kingarthur kingarthur 57761 2019-07-10 23:07:53.000000000 +0800 README.2
-rw-rw-r--. 1 kingarthur kingarthur 57761 2019-07-10 23:07:53.000000000 +0800 README.3
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.057998209 +0800 Templates
drwxrwxr-x. 2 kingarthur kingarthur 6 2020-03-19 07:31:18.324978197 +0800 test_tty1
drwxr-xr-x. 2 kingarthur kingarthur 6 2020-03-18 14:28:32.059998209 +0800 Videos
-rw-------. 1 kingarthur kingarthur 943 2020-03-27 08:24:02.765008750 +0800 .viminfo
#列出 inode 号码
[kingarthur@localhost /]$ ls -i ~
52402467 Desktop 76308 Downloads 18676003 Pictures 52406728 README 52406735 README.2 18676002 Templates 33575030 Videos
52402468 Documents 76309 Music 33575029 Public 52406733 README.1 52406736 README.3 34480498 test_tty1
#部分发行版默认 alias ls -l = ll
[kingarthur@localhost /]$ ll
total 28
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 bin -> usr/bin
dr-xr-xr-x. 6 root root 4096 Mar 18 14:28 boot
drwxr-xr-x. 20 root root 3320 Mar 26 02:44 dev
drwxr-xr-x. 175 root root 12288 Mar 22 18:06 etc
drwxr-xr-x. 3 root root 24 Mar 18 08:29 home
lrwxrwxrwx. 1 root root 7 Mar 18 07:55 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Mar 18 07:55 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 2 root root 6 Apr 11 2018 mnt
drwxr-xr-x. 3 root root 16 Mar 18 08:20 opt
dr-xr-xr-x. 298 root root 0 Mar 26 02:44 proc
dr-xr-x---. 6 root root 219 Mar 28 11:19 root
drwxr-xr-x. 55 root root 1540 Mar 28 10:40 run
lrwxrwxrwx. 1 root root 8 Mar 18 07:55 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Mar 26 02:44 sys
drwxrwxrwt. 38 root root 4096 Mar 28 16:30 tmp
drwxr-xr-x. 13 root root 155 Mar 18 07:55 usr
drwxr-xr-x. 24 root root 4096 Mar 18 14:27 var