标签: bash

排除 ls 中的某些文件

我想运行 ls 并在输出中排除某些文件。

当我运行以下命令时,我会在一行中获取所有文件:

$ ls -1
file1
file2
file3
temp
Run Code Online (Sandbox Code Playgroud)

我想以某种方式运行此命令,以便它显示

$ ls -1 <insert magic here> temp
file1
file2
file3
Run Code Online (Sandbox Code Playgroud)

bash ls

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

Bash:删除光标前的单词

考虑以下 bash 命令行,其中 ^ 表示光标位置:

svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
              ^
Run Code Online (Sandbox Code Playgroud)

我想提交具有相同消息的不同文件。如何删除当前单词,从光标位置到下一个空格?是否也有向后删除的快捷方式,将光标形成向后的第一个空格?

更新: ctrl +w向后擦除,但哪个快捷方式向前擦除一个字?

command-line bash shortcut-keys

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

如何从文件中读取变量?

我想在我的脚本中插入一个我将从文本文件中读取的值(字符串)。

例如,而不是:

echo "Enter your name"
read name
Run Code Online (Sandbox Code Playgroud)

我想从另一个文本文件中读取一个字符串,因此解释器应该从文件而不是用户输入中读取字符串。

bash scripts

87
推荐指数
5
解决办法
40万
查看次数

什么是登录和非登录 shell?

据说非登录shell的设置进入.bashrc文件和登录shell设置进入.profile文件。

登录和非登录 shell 的真正含义是什么?

请尽量不使用技术术语进行解释。

command-line bash login .profile

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

如何获取给定子进程的父进程 ID?

如何从给定孩子的 PID 中获取父 PID?

我知道我可以在 下手动检查它/proc,我想知道在 Ubuntu 中是否有更聪明/更好的方法来实现这一点。请注意,父母可能会或可能不会被杀死。

谢谢

command-line bash process

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

清除命令行终端的快捷方式

输入时是否有清除命令行的快捷方式,而不是按住退格键几秒钟?

我问是因为我Tab在终端中使用 bash 命令时经常使用密钥自动填写文件名。例如cd this_is_a_long_file_name,我不会输入,而是输入cd th<Tab>。但是后来我意识到我填写了错误的命令/文件名,我必须按住退格键来清除所有内容并重复该过程。

command-line bash shortcut-keys gnome-terminal

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

在 bash 中何时使用 () 与 {}?

我正在学习用 bash 编写 shell 脚本,我需要知道(...){...}. 编写脚本时如何在两者之间进行选择?

bash scripts

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

如何撤消上一个 cd 命令?

在执行cd到不同的目录后,有什么办法可以跳回以前的工作目录吗?

我的用例是我正在遍历 Java 项目的目录结构,并且我期望当前目录只有一个子目录。所以,我打字,打字cdTab而且Enter相当快。但是,Tab失败了,因为我误以为只有一个子目录,而实际上还有更多。所以现在,我刚刚执行了cd,并且现在在我的主目录中,而不是 Java 项目中。有没有办法“撤消”这个cd并跳回我所在的目录?

command-line bash

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

如何从命令行递归更改多个文件的扩展名?

我有很多带有.abc扩展名的文件,想将它们更改为.edefg
如何从命令行执行此操作?

我有一个包含许多子文件夹的根文件夹,因此该解决方案应该递归地工作。

command-line bash rename batch-rename

82
推荐指数
5
解决办法
14万
查看次数

bash 脚本中的 exit 0、exit 1 和 exit 2 是什么意思?

我正在做一些练习练习。

编写一个脚本,该脚本将给出一个月份数字作为参数,并将该数字转换为月份名称。结果将打印到标准输出。

我做了一个解决方案:

# Test for number of argument

if [ "$#" -eq 0 ] ; 
then
  echo -e "No argument."
  echo -e "Write a number between 1 and 12."
  exit 1
elif [ "$#" -gt 1 ] ;
then
  echo -e "More than 1 argument."
  echo -e "Write a number between 1 and 12."
  exit 1
else
  numb=$1
  case "$numb" in
    1) echo "Month: January";;
    2) echo "Month: February";;
    3) echo "Month: March";;
    4) echo "Month: April";;
    5) echo …
Run Code Online (Sandbox Code Playgroud)

bash scripts

82
推荐指数
3
解决办法
35万
查看次数