-
make prefix=/usr/local all中/usr/local分别是什么意思
2016-12-29 03:58:59make prefix=/usr/local all sudo make prefix=/usr/local install中/usr/local分别是什么意思,all??/usr/local??分别都是什么意思???什么意思呢 -
Linux的/bin、/sbin、/usr/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin
2017-05-22 16:19:32Linux的/bin、/sbin、/usr/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin文章作者:Tyan
博客:noahsnail.com | CSDN | 简书可以参考https://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
1、Linux的/bin、/sbin、/usr/sbin、/usr/bin、/usr/local/bin、/usr/local/sbin
/bin
bin为binary的简写,包含基本的用户命令,可被所有用户使用。包含能够同时被用户和系统管理员使用的命令(二进制程序),并且可以在不挂载任何其它文件系统的情况下使用。/sbin
存放系统管理员以及其他需要root权限来运行的工具。同类型的工具同时也可以保存在/usr/bin
、/usr/local/sbin
。但是/sbin
中保存的工具是在系统启动、复原、恢复和修复的过程中,作为/bin
中工具的补充。/usr/bin
非基本的命令二进制文件,所有用户可用。主要放置一些应用软件工具的必备执行档。/usr/sbin
存放了系统管理员使用的、对于boot启动时非必须的二进制程序文件。在/usr
确保被挂载的情况下,运行的管理员程序一般存放在/usr/sbin
中,在本地安装的管理员程序则应当被存放在/usr/local/sbin
中。/usr/local/bin
本地站点用户使用的二进制程序文件。/usr/local/sbin
本地站点管理员使用的二进制程序文件。
总结:如果是用户和管理员必备的二进制文件,通常放在/bin。如果是系统管理员必备,但是一般用户根本不会用到的二进制文件,通常放在/sbin。相对而言,如果不是用户必备的二进制文件,通常会放在/usr/bin;如果不是系统管理员必备的工具,通常会放在/usr/sbin。
2. Linux中的目录介绍
•主目录:/root、/home/username
•用户可执行文件:/bin、/usr/bin、/usr/local/bin
•系统可执行文件:/sbin、/usr/sbin、/usr/local/sbin
•其他挂载点:/media、/mnt
•配置:/etc
•临时文件:/tmp
•内核和Bootloader:/boot
•服务器数据:/var、/srv
•系统信息:/proc、/sys
•共享库:/lib、/usr/lib、/usr/local/lib参考资料:
-
Linux:/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin的意义
2017-04-12 15:51:11Linux:/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin的意义Linux:/bin;/sbin;/usr/bin;/usr/sbin;/usr/local/bin;/usr/local/sbin的意义
实验环境:
CentOS 6.5
[root@localhost ~]# uname -a Linux localhost.localdomain 2.6.32-431.el6.i686 #1 SMP Fri Nov 22 00:26:36 UTC 2013 i686 i686 i386 GNU/Linux [root@localhost ~]#
首先看下PATH变量在不同用户下的值:
root用户:
[root@localhost ~]# whoami root [root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost ~]#
普通用户:
[test1280@localhost ~]$ whoami test1280 [test1280@localhost ~]$ echo $PATH /usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/test1280/bin
bin是binary的缩写,二进制。
上述六个目录的含义:
/bin:通常是普通用户和超级用户都会用到的必要的命令,例如ls,pwd等等。
[root@localhost ~]# which ls alias ls='ls --color=auto' /bin/ls [root@localhost ~]# which pwd /bin/pwd [root@localhost ~]# su - test1280 [test1280@localhost ~]$ which ls alias ls='ls --color=auto' /bin/ls [test1280@localhost ~]$ which pwd /bin/pwd [test1280@localhost ~]$
/sbin:通常是系统管理员使用的必要的来管理系统的命令,例如shutdown,ifconfig等等。
[root@localhost ~]# which shutdown /sbin/shutdown [root@localhost ~]# which ifconfig /sbin/ifconfig [root@localhost ~]# su - test1280 [test1280@localhost ~]$ which shutdown /sbin/shutdown [test1280@localhost ~]$ which ifconfig /sbin/ifconfig [test1280@localhost ~]$
注:sbin意义为system binary。
/usr/bin:通常是一些非必要的,但是普通用户和超级用户都可能使用到的命令,例如gcc,ldd等等。
[root@localhost ~]# which gcc /usr/bin/gcc [root@localhost ~]# which ldd /usr/bin/ldd [root@localhost ~]# su - test1280 [test1280@localhost ~]$ which gcc /usr/bin/gcc [test1280@localhost ~]$ which ldd /usr/bin/ldd [test1280@localhost ~]$
注:很多时候我们自己安装的软件,可能在此处建立一个软连接(符号链接),指向实际的可执行文件。
/usr/sbin:通常是一些非必要的,由系统管理员来使用的管理系统的命令,例如crond,httpd等等。
[root@localhost ~]# which crond /usr/sbin/crond [root@localhost ~]# which httpd /usr/sbin/httpd [root@localhost ~]# su - test1280 [test1280@localhost ~]$ which crond /usr/sbin/crond [test1280@localhost ~]$ which httpd /usr/sbin/httpd [test1280@localhost ~]$
注:这里面有很多类似httpd等这样的后台程序,主要是提供一些服务,有相当一部分是关于网络的(并不全是,例如crond),这个时候这个进程就是作为一个“服务器”,接受外部的请求。
/usr/local/bin:通常是用户后来安装的软件,可能被普通用户或超级用户使用。
/usr/local/sbin:通常是用户后来安装的软件,一般是用来管理系统的,被系统管理员使用。
从用户权限角度来看,*sbin下的命令都是用来管理系统的,所以一般是普通用户无法执行,只有系统管理员可以执行,而*bin下的命令则是所有用户都可以执行的。
注:以上所说的并不是绝对的,例如ifconfig在/sbin下,但是普通用户一般具有可执行权限。
[test1280@localhost ~]$ ll /sbin/ifconfig -rwxr-xr-x. 1 root root 70024 May 10 2012 /sbin/ifconfig [test1280@localhost ~]$
从可运行的时间角度看,/bin以及/sbin是和/在同一文件系统,在挂载其他文件系统之前就可以使用/bin以及/sbin下的命令。
/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin可能与根文件系统不在同一文件系统之中,可能是在其他文件系统中后挂载上去的。
使用Tarball(源代码)编译安装的软件通常都是在/usr/local/bin以及/usr/local/sbin中。
十分重要的二进制程序放置在/bin以及/sbin中;
不是十分重要的二进制程序放置在/usr/bin以及/usr/sbin中。
进行这样子的分隔是为了尽可能地缩小根分区。在最开始不同用户下的PATH示例中我们看到,普通用户与超级用户有基本一样的PATH(包含的搜索目录列表差不多),但是他们在看到一个命令时搜索的路径顺序不相同。
在我实验的环境中,普通用户也是包含了*sbin这样的目录列表。
在有些版本中,普通用户的PATH不包含*sbin目录列表,所以当执行ifconfig时,通常会报command not found这样的错误,原因是ifconfig在/sbin中,但是PATH没有包含/sbin这个目录,导致报错。
这个时候如果我们用绝对路径来执行:
/sbin/ifconfig
如果ifconfig对一般用户具有可执行权限,那么就可以正常执行。
关键点在于,告诉你当前的shell,我去哪里找这个命令(可执行文件)。
当PATH包含的目录下没有时,我可以使用绝对路径来指定。下面这四句话是引用自别的博客:
如果是用户和管理员必备的二进制文件,就会放在/bin;
如果是系统管理员必备,但是一般用户根本不会用到的二进制文件,就会放在/sbin;
如果不是用户必备的二进制文件,多半会放在/usr/bin;
如果不是系统管理员必备的工具,如网络管理命令,多半会放在/usr/sbin;
参考资料:
1.http://blog.sina.com.cn/s/blog_8184e03301012z2x.html
2.http://blog.csdn.net/kkdelta/article/details/7708250
3.http://blog.csdn.net/xh16319/article/details/12861523 -
elasticsearch启动报错:which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
2020-03-21 20:25:59找到elasticsearch文件下的...no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) 那么就到root账号下安装jdk吧 安装步骤链接:https://blog.csdn.net/xuforeverlove/article/details/8080...找到elasticsearch文件下的logs文件:
which java
如果出现:
no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
那么就到root账号下安装jdk吧
安装步骤链接:https://blog.csdn.net/xuforeverlove/article/details/80802389
安装完成后再次到elasticsearch文件下的logs文件输入上面的命令:
-
Nacos启动报错解决:which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
2020-04-14 17:52:08报错信息: [root@localhost bin]# bash startup.sh -...which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: 缺少操作数 Try 'readlink --help' for more information. d...报错信息:
[root@localhost bin]# bash startup.sh -m standalone which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin) readlink: 缺少操作数 Try 'readlink --help' for more information. dirname: 缺少操作数 Try 'dirname --help' for more information. ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
解决方法:
配置JAVA_HOME
[root@localhost ~]# which java //找到jdk位置 /usr/bin/java [root@localhost ~]# ll /usr/bin/java lrwxrwxrwx. 1 root root 22 2月 24 12:26 /usr/bin/java -> /etc/alternatives/java [root@localhost ~]# ll /etc/alternatives/java lrwxrwxrwx. 1 root root 73 2月 24 12:26 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/jre/bin/java [root@localhost ~]# ll /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/ [root@centos7-2 nacos]# vi /etc/profile # 在最后增加 export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64/ export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH [root@localhost ~]# source /etc/profile
测试启动:
[root@localhost bin]# sh startup.sh -m standalone /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242.b08- .... -server.max-http-header-size=524288 nacos is starting with standalone //说明启动成功 nacos is starting,you can check the /usr/local/nacos/logs/start.out [root@localhost bin]# cat /usr/local/nacos/logs/start.out /usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64//bin/java -Xms512m -Xmx512m -Xmn256m -Dnacos.standalone=true -Djava.ext.dirs=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64//jre/lib/ext:/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.242.b08-0.el7_7.x86_64//lib/ext -Xloggc:/usr/local/nacos/logs/nacos_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dloader.path=/usr/local/nacos/plugins/health,/usr/local/nacos/plugins/cmdb,/usr/local/nacos/plugins/mysql -Dnacos.home=/usr/local/nacos -jar /usr/local/nacos/target/nacos-server.jar --spring.config.location=classpath:/,classpath:/config/,file:./,file:./config/,file:/usr/local/nacos/conf/ --logging.config=/usr/local/nacos/conf/nacos-logback.xml --server.max-http-header-size=524288 ,--. ,--.'| ,--,: : | Nacos 1.2.1 ,`--.'`| ' : ,---. Running in stand alone mode, All function modules | : : | | ' ,'\ .--.--. Port: 8848 : | \ | : ,--.--. ,---. / / | / / ' Pid: 3882 | : ' '; | / \ / \. ; ,. :| : /`./ Console: http://xxxx:8848/nacos/index.html ' ' ;. ;.--. .-. | / / '' | |: :| : ;_ | | | \ | \__\/: . .. ' / ' | .; : \ \ `. https://nacos.io ' : | ; .' ," .--.; |' ; :__| : | `----. \ | | '`--' / / ,. |' | '.'|\ \ / / /`--' / ' : | ; : .' \ : : `----' '--'. / ; |.' | , .-./\ \ / `--'---' '---' `--`---' `----' 2020-04-14 01:03:32,993 INFO Bean 'org.springframework.security.config.annotation.configuration.ObjectPostProcessorConf [root@localhost bin]# ss -antulp | grep 8848 tcp LISTEN 0 100 :::8848 :::* users:(("java",pid=3882,fd=165))
↓↓↓↓↓↓
最近刚申请了个微信公众号,上面也会分享一些运维知识,大家点点发财手关注一波,感谢大家。
【原创公众号】:非著名运维 【福利】:公众号回复 “资料” 送运维自学资料大礼包哦!
-
linux /usr/bin 和/usr/local/bin 区别
2019-08-08 10:09:18/usr/local/bin 用户安装的可执行程序,不受系统升级影响,用户编译安装软件时,一般放到/usr/local目录下 如果两个目录含有相同的可执行程序,通过查看PATH,比较优先级 echo $PATH /root/perl5/bin:/usr/local... -
which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin) The JAVA_HOME environment vari
2019-06-28 15:17:45首先查看了远程节点的java环境,配置正常,然后去jenkins配置里查看也是正常,然后仔细看bug,发现/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin目录环境没有节点安装的java环境目录,于是在流水线中添加java... -
elasticsearch : which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
2019-02-11 09:29:48Feb 11 09:11:34 cargo elasticsearch[16665]: which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin) Feb 11 09:11:34 cargo systemd[1]: elasticsearch.service: main process exited, code=... -
linux之/usr/local/bin和/usr/bin区别
2018-05-12 21:06:401、问题我们一般习惯把**.py文件放到/usr/local/bin这个目录下面去,然后可以在linux系统里面任意一个目录执行这个python文件,然后和/usr/bin/这个目录一般有啥区别?2、区别usr 指 Unix System Resource,/usr ... -
关于 /usr 和 /usr/local 的讨论
2012-07-24 10:33:46应该把程序安装在 /usr还是 /usr/local? 对于一个以LFS为基础的系统来说,这是一个没有明确答案的问题。 在传统的unix系统中,/usr通常只包含系统发行时自带的程序,而/usr/local则是本地系统管理员用来自由添加... -
Mac 的usr/bin 以及usr/local/bin
2019-03-23 22:26:43Mac的这个bin目录,是一个已经包含在环境变量里的目录,程序放在...Mac的usr/bin目录是不允许增删文件的,可以通过向usr/local/bin增删文件来实现在终端里直接运行,往后者里面增删文件只要有管理员权限就可以了。 ... -
Mac下打开/usr/local目录
2019-08-26 22:02:06Mac下/usr/local目录默认是对于Finder是隐藏,如果需要到/usr/local下去,打开Finder,然后使用command+shift+G,在弹出的目录中填写/usr/local就可以了。 -
Linux系统中 /bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin 目录的区别
2019-04-14 10:26:17/bin: 存放普通的基本命令,供所有用户使用,如:cat,ls,chmod等。 /sbin: 存放基本的系统命令,只有root用户才能使用,如shutdown,reboot,用于启动系统,修复系统。 /usr/bin: 保证系统.../usr/local... -
usr/bin 与 usr/local/bin 的区别
2016-04-16 07:59:58usr/bin 是系统自带的应用 usr/local/bin 是自己安装的应用和自己写的全局脚本 参考文档:http://www.linuxdiyf.com/linux/14613.html -
/lib和/usr/lib和/usr/local/lib区别
2019-07-31 22:34:00三者的区别 /lib是内核级别的 /usr/lib是系统级别的 /usr/local/lib是用户级别的 /usr — 包括与系统和用户直接有关的...系统自带的可执行程序放置在/usr/bin,而用户下载的应用程序可执行程序放置在/usr/local/bin ... -
Linux /usr/bin与/usr/local/bin区别
2019-03-08 13:24:29/usr/local/bin目录是给用户放置自己的可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。 如果两个目录下有相同的可执行程序,谁优先执行受到PATH环境变量的影响,比如我的一台服务器的PATH变量为。... -
Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录?
2017-10-27 20:58:18Linux 的软件安装目录是也是有讲究的,理解这一点,在对.../usr/local:用户级的程序目录,可以理解为C:/Progrem Files/。用户自己编译的软件默认会安装到这个目录下。 /opt:用户级的程序目录,可以理解为D: -
linux软件必须安装到 /usr,/usr/local/ 吗?
2018-09-18 22:25:00Linux 软件安装到 /usr,/usr/local/ 还是 /opt 目录? Linux 的软件安装目录是也是有讲究的,理解这一点,在对系统管理是有益的 /usr:系统级的目录,可以理解为C:/Windows/,/usr/lib理解为C:... -
/lib /usr/lib /usr/local/lib区别
2018-09-19 09:52:59/lib是内核级的,/usr/lib是系统级的,/usr/local/lib是用户级的. /lib/ — 包含许多被 /bin/ 和 /sbin/ 中的程序使用的库文件。目录 /usr/lib/ 中含有更多用于用户程序的库文件。/lib目录下放置的是/bin和/sbi... -
Linux文件系统中/bin、/sbin、/usr/bin、/usr/sbin、/usr/local/bin、/usr/local/sbin文件夹的区别是什么
2016-08-13 19:03:45传统上的常规做法是: ...用户自己编译的放在/usr/local/XXX。 现在有一些变化,在大约两年前,大量Linux系统都将/bin、/lib弄成/usr/bin、/usr/lib的符号链接。 此外,不同系统还会有很多的 -
mac Homebrew /usr/local写入权限问题
2018-04-24 00:10:51在使用brew命令的时候,会遇到错误提示Error:/usr/local is not writable.并建议执行命令:$ sudo chown -R $(whoami) /usr/local但是系统还是会提示chown: /usr/local: Operation not permitted现在问题就卡住了,... -
启动elk中elasticsearch服务报错which: no java in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
2018-10-24 16:41:09which: no java in (/sbin:/bin:/usr/sbin:/usr/bin) Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME elasticsearch 必须要要用非root用户启动,所以新建了一个... -
Linux 下 /usr/lib和 /usr/local和 /var
2017-10-24 11:04:13/var存放系统运行时的一些变更数据/usr/lib 用户编写程序默认路径库就在这个目录下(usr 指unix software source)/usr/local 一般存放用户自己下载的一些工具/bin 存放基本指令的程序(命令上的除了内建命令之外,... -
chown: /usr/local: Operation not permitted
2019-08-19 16:30:54mac pro 下使用sudo chown -R $(whoami) /usr/local/报错 ➜ ~ sudo chown -R $(whoami) /usr/local chown: /usr/local: Operation not permitted 系统版本:版本10.14.6 解决方法: sudo chown -R $(whoami) /usr/...