概述系统级别,我来为大家科普一下关于在linux中存放命令的目录是什么?以下内容希望对你有帮助!
在linux中存放命令的目录是什么
概述
- 在Linux系统当中,对于可执行文件或者说是可执行命令,通常可以存放在/bin,/sbin,/usr/bin,/usr/local/bin,usr/sbin等目录,而这些目录存放的可执行命令存在哪些区别呢?或者说某个命令存放在哪个文件夹存在何种规范呢?具体如下分析。
系统级别
/bin
- 存放系统操作的最基本的,必须的执行命令,即对所有用户(普通用户和管理员)都可能需要用到的命令,如下为mac系统下的bin目录,标准的Linux服务器包含更多:
xyzdeMacBook-Pro:bin xyz ls [ cp df hostname link mv rm stty unlink bash csh echo kill ln pax rmdir sync wait4path cat date ed ksh ls ps sh tcsh zsh chmod dd expr launchctl mkdir pwd sleep test
/sbin
- 存放系统管理的命令,即一般为管理员用到而普通用户基本不会用到的命令,如ping, ifconfig等网络相关的命令,如下:
xyzdeMacBook-Pro:sbin xyz ls apfs_hfs_convert fsck_hfs kextunload mount_exfat newfs_apfs quotacheck autodiskmount fsck_msdos launchd mount_fdesc newfs_exfat reboot disklabel fsck_udf md5 mount_ftp newfs_hfs route dmesg fstyp mknod mount_hfs newfs_msdos rtsol dynamic_pager fstyp_hfs mount mount_msdos newfs_udf shutdown emond fstyp_msdos mount_acfs mount_nfs nfsd umount fibreconfig fstyp_ntfs mount_afp mount_ntfs nfsiod fsck fstyp_udf mount_apfs mount_smbfs nologin fsck_apfs halt mount_cd9660 mount_udf pfctl fsck_cs ifconfig mount_cddafs mount_webdav ping fsck_exfat kextload mount_devfs mpioutil ping6
用户级别
/usr/bin
- 存放普通用户日常使用和工作所需的一些命令和软件,但不是必须的,如vi,wc,curl等,编程语言命令如python,java,jstat等,即系统预装的相关软件时会将该软件的可执行文件添加到该目录中。
/usr/local/bin
- 与/usr/bin的区别是,/usr/bin下面的命令通常是系统预装的命令,会随着系统的升级而改变。而/usr/local/bin通常用于存放用户下载安装的软件或者自己编写的可执行命令,这里的同名命令不会被系统升级而覆盖。如mysql,redis-cli,mvn等,而通常来说,这些软件是通过软连接的方式来连接到实际的可执行命令的地址,一般是按照在/usr/local目录下:
lrwxr-xr-x 1 xyz admin 51B 8 9 2018 mysql -> /usr/local/mysql-5.7.23-macos10.13-x86_64/bin/mysql lrwxr-xr-x 1 xyz admin 68B 8 13 2018 mysql.server -> /usr/local/mysql-5.7.23-macos10.13-x86_64/support-files/mysql.server lrwxr-xr-x 1 xyz admin 51B 8 12 2018 mysql_config -> ../Cellar/mysql-connector-c/6.1.11/bin/mysql_config lrwxr-xr-x 1 xyz admin 55B 8 28 2018 mysqldump -> /usr/local/mysql-5.7.23-macos10.13-x86_64/bin/mysqldump
/usr/sbin
- 存放管理员这个用户可能用到但不是必须的应用程序命令。