linux常用操作

这是我参与「第五届青训营 」伴学笔记创作活动的第 13 天

Linux 命令大全 | 菜鸟教程 (runoob.com)

1. ls命令

ls可能是每个Linux用户在其终端中键入的第一个命令。它允许列出想要的目录的内容(默认情况下是当前目录),包括文件和其他嵌套目录。

ls

它有很多选择,所以最好使用 --help 来获得一些帮助。此标志返回所有可以与 ls一起使用的flags参数。

着色 ls 命令的输出

ls --color=auto

但是,用彩色标志打字是低效的:这就是使用命令 ls alias 的原因。

2.alias命令

alias命令允许在shell会话中定义临时别名。创建别名时,指示shell用一系列命令替换单词。

例如,要设置 ls 为颜色而不每次键入标志 --color,将使用:

alias ls="ls --color=auto"

正如你所看到的,alias命令需要一个关键值对参数:alias NAME="VALUE" .请注意,该值必须是使用引号。

如果你想列出你的shell会话中所有的别名,你可不使用argument运行命令alias

alias

3.unalias命令

unalias命令旨在从已定义的别名中删除alias。要删除以前的ls别名,可以使用:

unalias ls

4. pwd命令

pwd命令代表“打印工作目录”,它输出当前所在目录的绝对路径。

pwd

5. cd命令

切换到试图访问的目录。

1. 进入home文件夹

cd

2. 向上移动一个级别

cd ..

3. 返回上一个目录

cd -

6. cp 命令

直接在Linux终端上复制文件和文件夹非常容易,有时它可以取代传统的文件管理器。

要使用cp命令,只需将其与源文件和目标文件一起键入即可:

cp file_to_copy.txt new_file.txt

还可以使用递归标志复制整个目录:

cp -r dir_to_copy/ new_copy_dir/

在Linux中,文件夹以正斜杠 (/)结尾。

7. rm命令

使用rm命令删除文件和目录。但在使用时要小心sudo,因为用这种方法恢复删除的文件非常困难(但并非不可能)。慎用sudo!慎用sudo!慎用sudo!

要删除常规文件,请键入:

rm file_to_copy.txt

如果要删除空目录,可以使用递归(-r)标志:

rm -r dir_to_remove/

另一方面,要删除包含内容的目录,需要使用force(-f)和recursive标志:

rm -rf dir_with_content_to_remove/

8. mv命令

使用mv命令在文件系统中移动(或重命名)文件和目录。

若要使用此命令,请将其名称与源文件和目标文件一起键入:

mv source_file destination_folder/
mv command_list.txt commands/

要使用绝对路径,请使用:

mv /home/wbolt/BestMoviesOfAllTime ./

./是当前所在的目录。

还可以使用mv重命名文件,同时将其保留在同一目录中:

mv old_file.txt new_named_file.txt

9.mkdir命令

创建文件夹使用mkdir命令。只需指定新文件夹的名称,确保它不存在,然后就可以开始了。

例如,要创建一个保存项目的目录,只需键入:

mkdir project/

使用简单命令创建子目录,请使用parent(-p)标志:

mkdir -p project/001/

10.man命令

man显示任何其他命令的(已有)手册页面。

要查看ls命令的手册页,请键入:

man ls

可以查看 man 命令手册页面:

man man

11.touch命令

touch允许更新指定文件的访问和修改时间,要将其修改日期更改为当前时间,我们需要使用-m标志:

touch -m old_file

大多数情况下不会使用touch来修改文件日期,而是创建新的空文件:

touch new_file_name

12. chmod 命令

详细可以查看Linux chmod 命令 | 菜鸟教程 (runoob.com)

chmod命令允许快速更改文件的模式(权限)。

文件的基本权限包括:

  • r (只读)
  • w (写入)
  • x (执行)

chmod最常见的用例之一是使文件可由用户执行。为此,请键入chmod和标志+x,然后键入要修改其权限的文件:

chmod +x script

可以使用它使脚本可执行,从而允许使用./ 符号直接运行它们。

13. ./ 命令

也许 ./ 符号本身不是命令,但在这个列表中值得一提。它允许shell直接从终端运行可执行文件,并在系统中安装任何解释器。不再双击图形文件管理器中的文件!

例如,使用此命令,可以运行Python脚本或仅以.run格式提供的程序,如XAMPP。运行可执行文件时,请确保它具有可执行(x)权限,可以使用chmod命令修改该权限。

下面是一个简单的Python脚本,以及如何使用 ./ 符号运行它:

#! /usr/bin/python3
# filename: script
for i in range(20):
print(f"This is a cool script {i}")

下面是我们如何将脚本转换为可执行文件并运行它:

chmod +x script
./script

14. exit 命令

exit命令完全按照其名称执行:可以结束shell会话,并且在大多数情况下,可以自动关闭正在使用的终端:

exit

15. sudo 命令

此命令代表“超级用户do”,它允许在运行特定命令时充当超级用户或根用户。这就是Linux如何保护自己,防止用户意外修改机器的文件系统或安装不合适的软件包。

Sudo通常用于安装软件或编辑用户主目录以外的文件:

sudo apt install xxx
sudo cd /root/

16. shutdown 命令

shutdown命令允许关闭机器电源。但是,它也可以用来停止和重新启动它。

要立即关闭计算机电源(默认为一分钟),请键入:

shutdown now

可以计划以24小时格式关闭系统:

shutdown 20:40

要取消以前的shutdown调用,可以使用-c标志:

shutdown -c

17. htop 命令

htop是一种交互式流程查看器,可让用户直接从终端管理计算机的资源。在大多数情况下,默认情况下它并没有安装,所以请确保在下载页面上阅读更多关于它的信息。

htop

18. unzip 命令

Linux unzip命令 | 菜鸟教程 (runoob.com)

unzip命令允许从终端提取.zip文件的内容。同样,默认情况下可能不会安装此软件包,因此请确保使用package管理器安装它。

1、把文件解压到当前目录下

unzip test.zip

2、如果要把文件解压到指定的目录下,需要用到-d参数。

unzip -d /temp test.zip

3、解压的时候,有时候不想覆盖已经存在的文件,那么可以加上-n参数

unzip -n test.zip
unzip -n -d /temp test.zip

4、只看一下zip压缩包中包含哪些文件,不进行解压缩

unzip -l test.zip

5、查看显示的文件列表还包含压缩比率

unzip -v test.zip

6、检查zip文件是否损坏

unzip -t test.zip

7、将压缩文件test.zip在指定目录tmp下解压缩,如果已有相同的文件存在,要求unzip命令覆盖原先的文件

unzip -o test.zip -d /tmp/

19.apt, yum, pacman 命令

无论使用的是哪个Linux发行版,都可能使用package管理器来安装、更新和删除每天使用的软件。

示例安装GIMP,一种通常在大多数package管理器中可用的免费开源软件:

  1. Debian-based (Ubuntu, Linux Mint)
sudo apt install gimp
  1. Red Hat-based (Fedora, CentOS)
sudo yum install gimp
  1. Arch-based (Manjaro, Arco Linux)
sudo pacman -S gimp

20. echo 命令

echo命令在终端中显示定义的文本-就这么简单,它的主要用途是在这些消息中打印环境变量:

21. cat 命令

cat 是“concatenate”的缩写,用于直接从终端创建、查看和连接文件。它主要用于在不打开图形文本编辑器的情况下预览文件:

cat main.go

22. ps 命令

ps可以查看当前shell会话正在运行的进程。它打印有关正在运行的程序的有用信息,如进程ID、TTY(电传打字机)、时间和命令名。

ps

如果想要更具交互性的内容,可以使用htop

23. kill 命令

当一个程序没有响应,并且你不能用任何方法关闭它时,这是很烦人的。幸运的是,kill命令解决了这类问题。

简单地说,kill向终止它的进程发送一个TERM或kill信号。可以通过输入PID(进程ID)或程序的二进制名称来终止进程:

kill 533494
kill firefox

使用此命令时要小心-使用kill时,可能会意外删除正在执行的工作。

24. ping 命令

ping 是用于测试网络连接的最流行的网络终端工具。ping 有很多选项,但在大多数情况下,将使用它来请求域或IP地址:

ping google.com
ping 8.8.8.8

25. vim 命令

vim 是一个免费的开源终端文本编辑器,从90年代开始使用。它允许使用高效的键绑定编辑纯文本文件。

有些人认为使用困难——退出VIM是最常见的StackOverflow问题之一,但一旦习惯了,它就成为命令行中最好的盟友。

要启动Vim,只需键入:

vim

Vim操作大全 - 简书 (jianshu.com)

26. history 命令

如果你正在努力记住一个命令,history就会派上用场。此命令显示一个枚举列表,包含过去使用过的命令:

history

27. passwd 命令

passwd 允许更改用户帐户的密码。首先,它会提示输入当前密码,然后要求输入新密码并确认。不小心可能会混肴用户密码!

passwd

28. which 命令

which命令输出shell命令的完整路径。如果它不能识别给定的命令,它将抛出一个错误。

例如,我们可以使用它来检查Python和Brave web浏览器的二进制路径:

which python
# /usr/bin/python
which brave
# /usr/bin/brave

29. shred 命令

如果希望文件几乎无法恢复,shred 可以帮助完成此任务。此命令会重复覆盖文件的内容,因此,给定的文件极难恢复。通过键入shred命令来完成工作:

shred xxx.txt

如果要立即删除文件,可以使用-u标志:

shred -u xxx.txt

30. less 命令

less(与more相反)是一个允许前后检查文件的程序:

less xxx.txt

less的优点在于它在其界面中包含了更多和vim命令。如果需要比cat更具交互性的东西,less是一个不错的选择。

31. tail 命令

cat类似,tail打印文件内容时有一个主要警告:它只输出最后几行。默认情况下,它打印最后10行,但可以使用-n修改该数字。

例如,要打印大型文本文件的最后几行,可以使用:

tail xxx.txt

要仅查看最后四行,请执行以下操作:

tail -n 4 xxx.txt

32. head 命令

tail命令的补充。head输出文本文件的前10行,但可以使用-n标志设置要显示的任意行数:

head xxx.txt
head -n 5 xxx.txt

33. grep 命令

Grep是处理文本文件的最强大的工具之一。它搜索与正则表达式匹配的行并打印它们:

grep "linux" xxx.txt

可以使用-c标志计算与给定条件匹配的次数:

grep -c "linux" xxx.txt
# 2

34. whoami 命令

该命令(who am I的缩写)显示当前使用的whoami用户名:

whoami

使用echo和环境变量$USER可以得到相同的结果:

echo $USER

35. whatis 命令

whatis 打印任何其他命令的单行说明,使其成为有用的参考:

whatis python
# python (1) - an interpreted, interactive, object-oriented programming language
whatis whatis
# whatis (1) - display one-line manual page descriptions

36. wc 命令

Wc代表“字数计数”,顾名思义,它返回文本文件中的字数:

wc xxx.txt 
# 37 207 1000 xxx.txt

让我们分析一下此命令的输出:

  • 37行
  • 207字
  • 1000字节大小
  • 文件名(xxx.txt)

如果只需要字数,请使用-w标志:

wc -w xxx.txt
207 xxx.txt

37.uname 命令

uname(Unix name的缩写)打印可操作的系统信息,当知道当前的Linux版本时,这些信息很方便。

大多数情况下,将使用-a(–all)标志,因为默认输出没有那么有用:

uname 
# Linux 
uname -a 
# Linux wboltmanjaro 5.4.138-1-MANJARO #1 SMP PREEMPT Thu Aug 5 12:15:21 UTC 2021 x86_64 GNU/Linux

38.neofetch 命令

Neofetch是一个CLI(命令行界面)工具,它在Linux发行版的ASCII徽标旁边显示有关系统的信息,如内核版本、shell和硬件:

neofetch

39.find 命令

find命令根据regex表达式在目录层次结构中搜索文件。要使用它,请遵循以下语法:

find [flags] [path] -name [expression]

要在当前目录中搜索名为xxx.txt的文件,请输入以下命令行:

find ./ -name "xxx.txt" # ./xxx.txt

要搜索以.py (Python) 扩展名结尾的文件,可以使用以下命令行:

find ./ -type f -name "*.py"

40. wget命令

wget(World Wide Web get)是从互联网检索内容的实用工具。它拥有最大的flags之一。

以下是如何从GitHub获取一个Python文件:

wget https://raw.githubusercontent.com/DaniDiazTech/Object-Oriented-Programming-in-Python/main/object_oriented_programming/cookies.py
posted @ 2023-01-29 10:09  TomiokapEace  阅读(246)  评论(0编辑  收藏  举报