我知道检查在我的机器上运行的 Linux 机器名称的命令。例如:
cat /etc/version
Run Code Online (Sandbox Code Playgroud)
cat /etc/issue
Run Code Online (Sandbox Code Playgroud)
如何从终端获取输出并比较看是UBUNTU还是CENTOS并执行以下命令?
apt-get install updates
Run Code Online (Sandbox Code Playgroud)
或者
yum update
Run Code Online (Sandbox Code Playgroud)
cat /etc/issue
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一种方法来过滤包含“lemon”和“rice”两个词的行。我知道如何找到“柠檬”或“米饭”,但不知道如何找到这两个。它们不需要紧挨着另一个,只是同一行文本中的一个。
为什么当我尝试将一个函数仅在一行中写入.bashrc文件时,
list(){ ls -a }
Run Code Online (Sandbox Code Playgroud)
我得到错误?
bash: /home/username/.bashrc: line num: syntax error: unexpected end of file
Run Code Online (Sandbox Code Playgroud)
但是当我用多行写它时可以吗?
list(){
ls -a
}
Run Code Online (Sandbox Code Playgroud) 我想学习如何安装和配置不同的 Linux 发行版,并动手实践。我想知道您是否可以推荐任何免费的云(或其他在线)存储服务来执行此操作?如果这有什么不同的话,我住在英国。
运行命令时,有时可能需要使用上一个命令的参数运行命令。你怎么能做到这一点?
当然,除了使用方向键和Del键:↑←←←... ←→→DelDelDel... Del<new_command>。
有人告诉我这是可能的,但没有一个工作示例,它sed可以从字符串变量中读取而无需输入文件。我还没有让它工作。为了一般安全,我将$PATH变量写入另一个变量,因为我对此很困惑,因为在我确切地知道如何执行此操作之前,我不需要出现其他问题。
考虑以下:
~$x=$PATH
~$sed -i 's/:/ /g' $x
Run Code Online (Sandbox Code Playgroud)
这失败了:没有这样的文件或目录。
以下是我尝试过的其他一些:
~$ sed -i 's/:/ /g' | (read x)
sed: no input files
~$ sed -i 's/:/ /g' | (read $x)
bash: read: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games': not a valid identifier
sed: no input files
~$ sed -i 's/:/ /g' | $(read x)
sed: no input files
~$ sed -i 's/:/ /g' | $(read $x)
bash: read: `/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games': not a valid identifier
sed: no input files
~$ sed -i 's/:/ …Run Code Online (Sandbox Code Playgroud) 当我们想以 root 身份运行程序时,我们使用sudo, gksu,gksudo等等。现在我的问题是我们如何在终端中以 root 用户身份运行终端?
我尝试使用gksudo terminal,gksu terminal但没有任何反应。通过运行sudo terminal我得到错误sudo: terminal: command not found。
我目前正在使用 /etc/fstab 中的以下行在启动时挂载 NTFS 分区:
/dev/sda3 /media/data ntfs nls=iso8859-1,umask=000
Run Code Online (Sandbox Code Playgroud)
对于我的 Ubuntu 11.10 安装,看起来好像所有文件和文件夹都归root- 而且由于 NTFS 无论如何都不真正支持相同的权限管理系统,因此在安装完成后我无法更改它。无论我做什么,ls -lNTFS 分区上的任何地方都会列出root:root.
但是,这给我带来了一些问题。最值得注意的是,在我的帐户下运行的一些应用程序(称为tomas)抱怨访问权限。此外,每当我尝试将 ( cp) 或 ( mv) 文件从我的 ext3 分区之一复制到 NTFS 分区时,我都会收到错误消息说
mv: preserving times for `[path to new file]`: Operation not permitted
Run Code Online (Sandbox Code Playgroud)
或者,类似地
mv: preserving permissions for ...
Run Code Online (Sandbox Code Playgroud)
以我的名字而不是 root 来安装分区会有帮助吗?如果是这样,我如何在 fstab 中完成它?
更新:
我现在已经根据建议更改了选项,并得出以下结论:
nls=iso8859-1,permissions,users,umask=000,uid=tomas,gid=tomas
Run Code Online (Sandbox Code Playgroud)
ls -l现在显示我所有的文件而不是root所有的文件,看来我之前遇到的一些问题已经解决了。然而,并非全部。
当我启动 Eclipse 时,我收到一个错误,提示无法运行与 android-sdk 相关的文件:权限被拒绝。ls -l告诉我有关该文件的以下信息:
-rwxrwxrwx 1 tomas tomas 159620 …Run Code Online (Sandbox Code Playgroud) 这是我用来检查我的 bash shell 是否存在 Shellshock 错误的命令:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
Run Code Online (Sandbox Code Playgroud)
任何人都可以详细解释命令吗?