小编amp*_*ent的帖子

为什么 printf 比 echo 好?

我听说printfecho. 根据我的经验,我只能回忆起一个我不得不使用的实例,printf因为它echo无法将一些文本输入到 RHEL 5.8 上的某个程序中,但printf确实如此。但显然,还有其他差异,我想询问它们是什么以及是否有特定情况下何时使用一种与另一种。

echo text-processing printf

635
推荐指数
4
解决办法
27万
查看次数

如何找出当前在vim中打开的文件?

这可能听起来微不足道,但不止一次,我发现自己忘记了vim我打开了哪个文件(例如,当我查看不同的日志文件时),而我知道如何找出的唯一方法就是关闭文件并在命令历史记录中查找最近的命令。

vim 中是否有命令可以告诉您当前打开了哪个文件而无需退出程序或已打开的文件(例如:<which_file_cmd>?)

vim

75
推荐指数
4
解决办法
4万
查看次数

有没有一种简单的方法来以编程方式提取 IP 地址?

有没有一种简单的方法来以编程方式提取 IP 地址,而无需繁琐的解析ifconfig?我不介意使用简单的命令输出处理sed来执行它,但不介意从/etc某个地方处理多行文件。我想要做的是修改 my.bashrc以在问候消息中显示主机的 IP 地址。我正在使用Ubuntu 12.04但决定在这里而不是 Ubuntu 论坛发帖,因为我认为这不是特定于发行版的。

shell networking ip

47
推荐指数
3
解决办法
7万
查看次数

更改符号链接的时间戳

我知道如何更改常规文件的时间戳:

touch -t 201301291810 myfile.txt
Run Code Online (Sandbox Code Playgroud)

我无法用符号链接做同样的事情。是否可以?

发行版:RHEL 5.8

rhel symlink timestamps

36
推荐指数
1
解决办法
3万
查看次数

为什么 sudo 忽略别名?

我正在运行 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 忽略别名。

shell sudo alias

28
推荐指数
2
解决办法
2万
查看次数

为什么 .bashrc/.bash_profile 中没有 shebang?

简单查询:我刚刚意识到我从未在脚本顶部看到过shebang.bashrc,这让我认为系统在登录时使用默认shell 来获取它(${SHELL})。我正在思考为什么会出现这种情况,即使用默认 shell 以外的其他东西来运行登录脚本是否被认为是一个坏习惯。

shell profile bashrc shebang

27
推荐指数
3
解决办法
7395
查看次数

在 Centos 7.3 上为 python3 安装 psycopg2 包的 gcc 错误

根据这个答案,我执行了一系列先决条件设置以准备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)

gcc centos python3

21
推荐指数
2
解决办法
2万
查看次数

如何将顶部快照流式传输到文件中?

有什么办法可以将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)

top

19
推荐指数
1
解决办法
1万
查看次数

将 sudo echo "xyz" 的输出重定向到文件时,为什么会出现“权限被拒绝”?

为什么我得到

-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 回声呢?

permissions sudo io-redirection

11
推荐指数
1
解决办法
2万
查看次数

打开文件时禁止 vi 转到最后访问的行

有什么我可以放在我的exrc文件中以防止vi转到我上次打开文件时所在的最后一行并且默认情况下将光标设置在顶部?

我认为它是特定于发行版的——它在 Solaris 上的行为与在 RHEL 上的行为不同。

vim vi

9
推荐指数
2
解决办法
2568
查看次数