我听说printf
比echo
. 根据我的经验,我只能回忆起一个我不得不使用的实例,printf
因为它echo
无法将一些文本输入到 RHEL 5.8 上的某个程序中,但printf
确实如此。但显然,还有其他差异,我想询问它们是什么以及是否有特定情况下何时使用一种与另一种。
这可能听起来微不足道,但不止一次,我发现自己忘记了vim
我打开了哪个文件(例如,当我查看不同的日志文件时),而我知道如何找出的唯一方法就是关闭文件并在命令历史记录中查找最近的命令。
vim 中是否有命令可以告诉您当前打开了哪个文件而无需退出程序或已打开的文件(例如:<which_file_cmd>
?)
有没有一种简单的方法来以编程方式提取 IP 地址,而无需繁琐的解析ifconfig
?我不介意使用简单的命令输出处理sed
来执行它,但不介意从/etc
某个地方处理多行文件。我想要做的是修改 my.bashrc
以在问候消息中显示主机的 IP 地址。我正在使用Ubuntu 12.04
但决定在这里而不是 Ubuntu 论坛发帖,因为我认为这不是特定于发行版的。
我知道如何更改常规文件的时间戳:
touch -t 201301291810 myfile.txt
Run Code Online (Sandbox Code Playgroud)
我无法用符号链接做同样的事情。是否可以?
发行版:RHEL 5.8
我正在运行 Ubuntu 10.04 并upstart
用于守护进程管理。我的企业应用程序作为守护程序运行,并且由于各种特权必须以 root 身份运行。例如:
sudo start my-application-long-ID
sudo stop my-application-long-ID
etc
Run Code Online (Sandbox Code Playgroud)
我想介绍一个alias
将这些命令缩写为:
alias startapp='sudo start my-application-long-ID'
Run Code Online (Sandbox Code Playgroud)
并按原样运行它startapp
,但我希望别名中没有 sudo 。
alias startapp='start my-application-long-ID'
Run Code Online (Sandbox Code Playgroud)
运行时不会使用sudo startapp
,返回sudo: startapp: command not found
。
但是,当我添加别名时:
alias sudo='sudo '
sudo startapp
现在有效,但我仍然很好奇为什么 sudo 忽略别名。
简单查询:我刚刚意识到我从未在脚本顶部看到过shebang.bashrc
,这让我认为系统在登录时使用默认shell 来获取它(${SHELL}
)。我正在思考为什么会出现这种情况,即使用默认 shell 以外的其他东西来运行登录脚本是否被认为是一个坏习惯。
根据这个答案,我执行了一系列先决条件设置以准备pip
安装python3
软件包。
然而,当我跑
python3 -m pip install psycopg2
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Downloading/unpacking psycopg2
Downloading psycopg2-2.6.2.tar.gz (376kB): 376kB downloaded
Running setup.py (path:/tmp/pip-build-1ocbvumt/psycopg2/setup.py) egg_info for package psycopg2
Installing collected packages: psycopg2
Running setup.py install for psycopg2
Skipping implicit fixer: buffer
Skipping implicit fixer: idioms
Skipping implicit fixer: set_literal
Skipping implicit fixer: ws_comma
building 'psycopg2._psycopg' extension
gcc -pthread -Wno-unused-result -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -I/opt/rh/rh-python34/root/usr/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong …
Run Code Online (Sandbox Code Playgroud) 有什么办法可以将top
那个时刻的快照保存到一个文件中?
我试过
top > top.out
Run Code Online (Sandbox Code Playgroud)
但内容与 STDOUT 中的 top 完全不同:
^[[H^[[2J^[(B^[[mtop - 16:09:49 up 18 days, 21:46, 4 users, load average: 2.00, 1.90, 1.87^[(B^[[m^[[39;49m^[[K
Tasks:^[(B^[[m^[[39;49m^[(B^[[m 286 ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 1 ^[(B^[[m^[[39;49mrunning,^[(B^[[m^[[39;49m^[(B^[[m 285 ^[(B^[[m^[[39;49msleeping,^[(B^[[m^[[39;49m^[(B^[[m 0 ^[(B^[[m^[[39;49mstopped,^[(B^[[m^[[39;49m^[(B^[[m 0 ^[(B^[[m^[[39;49mzombie^[(B^[[m^[[39;49m^[[K
Cpu(s):^[(B^[[m^[[39;49m^[(B^[[m 5.9%^[(B^[[m^[[39;49mus,^[(B^[[m^[[39;49m^[(B^[[m 0.1%^[(B^[[m^[[39;49msy,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mni,^[(B^[[m^[[39;49m^[(B^[[m 93.5%^[(B^[[m^[[39;49mid,^[(B^[[m^[[39;49m^[(B^[[m 0.3%^[(B^[[m^[[39;49mwa,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mhi,^[(B^[[m^[[39;49m^[(B^[[m 0.1%^[(B^[[m^[[39;49msi,^[(B^[[m^[[39;49m^[(B^[[m 0.0%^[(B^[[m^[[39;49mst^[(B^[[m^[[39;49m^[[K
Mem: ^[(B^[[m^[[39;49m^[(B^[[m 64322524k ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 46529492k ^[(B^[[m^[[39;49mused,^[(B^[[m^[[39;49m^[(B^[[m 17793032k ^[(B^[[m^[[39;49mfree,^[(B^[[m^[[39;49m^[(B^[[m 141304k ^[(B^[[m^[[39;49mbuffers^[(B^[[m^[[39;49m^[[K
Swap:^[(B^[[m^[[39;49m^[(B^[[m 6289436k ^[(B^[[m^[[39;49mtotal,^[(B^[[m^[[39;49m^[(B^[[m 696k ^[(B^[[m^[[39;49mused,^[(B^[[m^[[39;49m^[(B^[[m 6288740k ^[(B^[[m^[[39;49mfree,^[(B^[[m^[[39;49m^[(B^[[m 15289220k ^[(B^[[m^[[39;49mcached^[(B^[[m^[[39;49m^[[K
^[[6;1H
Run Code Online (Sandbox Code Playgroud) 为什么我得到
-bash: test: Permission denied
Run Code Online (Sandbox Code Playgroud)
当我跑
sudo echo "xyz" > test
Run Code Online (Sandbox Code Playgroud)
目录权限为:
drwxr-xr-x 3 root root 4096 2014-08-05 16:26
Run Code Online (Sandbox Code Playgroud)
我在目录中使用sudo
. 但是为什么我不能 sudo 回声呢?
有什么我可以放在我的exrc
文件中以防止vi
转到我上次打开文件时所在的最后一行并且默认情况下将光标设置在顶部?
我认为它是特定于发行版的——它在 Solaris 上的行为与在 RHEL 上的行为不同。