概述

  • 在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
  • 存放管理员这个用户可能用到但不是必须的应用程序命令。
GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐