在 中设置变量时.bashrc,我应该使用它吗?
export VAR=value
Run Code Online (Sandbox Code Playgroud)
或者这就足够了吗?
VAR=value
Run Code Online (Sandbox Code Playgroud)
到底有什么区别(如果有的话)?
FreeBSD 中的默认 shell 是sh,我真的无法忍受:自动完成非常有限,rehash 命令会杀死我。感觉自己是个单臂单腿的人……
如何将 shell 全局更改为zshor bash- 对于 root 以及所有当前和未来用户?
假设您拥有人类可读格式的数量数据,例如 的输出du -h,并且想要进一步对这些数字进行操作。假设您想通过 grep 传输数据以对该数据的子集进行求和。您可以在许多以前从未见过的系统上临时执行此操作,并且只有最少的实用程序。您需要对所有标准 10^n 后缀进行后缀转换。
是否存在一个 gnu-linux 实用程序来将后缀数转换为管道内的实数?您是否编写了一个 bash 函数来执行此操作,或者一些可能容易记住的 perl,而不是一段正则表达式替换或几个 sed 步骤?
38M /var/crazyface/courses/200909-90147
2.7M /var/crazyface/courses/200909-90157
1.1M /var/crazyface/courses/200909-90159
385M /var/crazyface/courses/200909-90161
1.3M /var/crazyface/courses/200909-90169
376M /var/crazyface/courses/200907-90171
8.0K /var/crazyface/courses/200907-90173
668K /var/crazyface/courses/200907-90175
564M /var/crazyface/courses/200907-90178
4.0K /var/crazyface/courses/200907-90179
Run Code Online (Sandbox Code Playgroud)
| grep 200907 | <amazing suffix conversion> | awk '{s+=$1} END {print s}'
相关参考资料:
在 linux 服务器上,我想减小几个 GB 大的日志文件的大小。切断上半部分,或者前一百万行可能会起作用。
因此,我阅读了许多与此相关的帖子,并且比以前更加困惑。建议使用各种工具,包括 ttyrec、snoopy、acct、rootsh、sudosh、ttyrpld、unix 审计等。
就我而言,我希望能够记录系统上执行的所有命令(例如启用时间戳的历史记录),但我也想知道谁做了什么?但是,我们都通过 ssh 登录到同一个用户帐户的小子集(取决于我们在做什么)。如何获取命令日志,包括“谁”将给我的信息(关于连接),以便我可以将操作追踪到特定的人,作为对普通“用户”的摆姿势?
(在 Linux 系统上)
我在文件系统上有大量嵌套的子目录。我想修剪所有不包含任何文件的目录路径。
换句话说,我想删除该目录或该目录的任何子目录中没有文件的每个目录递归。
我正在尝试创建一个格式化 Amazon EC2 EBS 卷的脚本,以便我可以挂载它。
从命令行看,它看起来像这样:
> mkfs -q -t ext4 /dev/sdf
/dev/sdf is entire device, not just one partition!
Proceed anyway? (y,n)
Run Code Online (Sandbox Code Playgroud)
(命令是正确的;不需要为我的目的创建分区表)
我的问题:因为这个命令应该在一个自动化脚本中运行,所以我不能在终端上问这个问题;没有人会接听,脚本将挂起。我如何避免这种情况?
我试过:
> echo y | mkfs -q -t ext4 /dev/sdf
Run Code Online (Sandbox Code Playgroud)
但这并不能解决问题。-q 选项也没有区别。
第一次ssh-copy-id会问
# ssh-copy-id -i .ssh/id_dsa.pub backup@example.com
The authenticity of host 'example.com (xxx.xxx.xxx.xxx)' can't be established.
RSA key fingerprint is 39:fb:5e:70:30:33:2b:18:17:e9:4f:2f:91:b5:d2:21.
Are you sure you want to continue connecting (yes/no)?
Run Code Online (Sandbox Code Playgroud)
是否可以编写此脚本,因此脚本只会回答是?
如果我做
su - -c 'mkdir bin' user1
Run Code Online (Sandbox Code Playgroud)
然后我得到
su: /usr/bin/ksh: No such file or directory
Run Code Online (Sandbox Code Playgroud)
因为用户 shell 设置为kshin/etc/passwd并且ksh未安装。
题
在这种情况下,如何以用户身份执行命令?
我创建了一个符号链接:
ln -s /tmp/folder1 /tmp/folder2
然后我去 /tmp/folder2 并运行pwd:
$ cd /tmp/folder2/
$ pwd
/tmp/folder2
$ sudo pwd
/tmp/folder1 # <-- This is the odd part
Run Code Online (Sandbox Code Playgroud)
为什么pwdwithsudo给了原目录?我正在编写一个 bash 脚本,需要当前目录的绝对路径。使用 sudo 我似乎无法获得原始目录。