我下载了一个命令行应用程序,我想把它放在某个地方,我可以从命令行运行它,而不必显式键入路径。
用于此类事情的常规路径是什么?/usr/bin? 是否有不同的选项,一种是我想要所有用户都可以使用,另一种是我只想要特定用户(例如我的管理员帐户)使用?
或者我应该把它放在Applications目录下它自己的目录中,并将其添加到路径中?如果是这样,哪个文件控制路径的设置位置?
如果您在 bash 中设置或导出环境变量,则可以取消设置。如果您在 bash 中设置了别名,则可以取消别名。但似乎没有unfunction。
考虑这个(简单的)bash 函数,例如,在.bash_aliases文件中设置并在 shell 初始化时读取。
function foo () { echo "bar" ; }
Run Code Online (Sandbox Code Playgroud)
如何从当前 shell 中清除此函数定义?
(更改初始化文件或重新启动 shell 不算在内。)
在交互模式下(在Octave、gnuplot、R等中)我偶尔会错误地按Control+ z。这会暂停程序并将我踢回终端。
是否可以重新进入原始交互模式(所有存储的变量)?
重现:
~> octave
octave:1> a = [1:10];
octave:2> ^Z
[1]+ Stopped octave
~>
Run Code Online (Sandbox Code Playgroud)
如何使用a定义的变量恢复会话?
恕我直言,ps -u显示了一个非常有用的输出,比ps -u $USER:
$ ps -u
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
elastic 234897 0.0 0.0 105980 1336 pts/2 S+ Oct10 0:00 /bin/bash ./run.sh collector-json-1.conf
elastic 234899 48.7 7.1 10087120 4433104 pts/2 Sl+ Oct10 2804:11 /usr/java/jdk1.7.0_09_x64/bin/java -Xmx6144m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatin
:
Run Code Online (Sandbox Code Playgroud)
相比
$ ps -u $USER
PID TTY TIME CMD
234897 pts/2 00:00:00 run.sh
234899 pts/2 1-22:44:04 java
: …Run Code Online (Sandbox Code Playgroud) 如何在 shell 脚本中找出当前系统上是否存在给定的用户名?
/etc/passwd并且/etc/shadow是不完整的。考虑 OS X 的目录服务,或具有 Likely Active Directory 集成的 Linux。
在 C-Shell 中,如何获得与du -sh ./*不列出根目录中的文件相同的输出,即仅列出 ./ 中的子目录及其所有内容的大小?
有什么区别:
a=b
Run Code Online (Sandbox Code Playgroud)
和
export a=b
Run Code Online (Sandbox Code Playgroud)
在 bash 中?
我知道他们都定义了环境变量,但我不完全理解其中的区别。
我很好奇是否有办法通过一些键盘快捷键清除终端缓冲区/输出。我正在使用 Ubuntu。我知道
Ctrl + L
清除终端,但您仍然可以向后滚动以查看旧文本。我正在寻找类似于什么的东西
reset
Run Code Online (Sandbox Code Playgroud)
命令可以。在 Mac 上
apple + k
似乎可以解决问题。