前言
程序员:“我要跑了,小心谁告诉我命令行是 rm -rf /*。”
由“rm -rf”引发的血案经常发生在菜鸟程序员中,而初入行业的前后端人员并不扎实。
很容易出现没有图形用户界面(GUI)就无法启动,甚至无法部署应用程序的尴尬情况。
我暗自认为,熟悉 Vim 和 Linux 下的常用命令是每个程序员的必修课。
此外,甚至微软也拥抱了 Linux 终端并推出了 Windows 终端。你有什么理由不学习?
1. grep : 在文件中查找关键字
$ grep "string" [选项] file
使用 grep 命令查找文件中的所有 React 关键字:
$ grep -i "REact" file
$ grep -c "react" index.js
更多选项可以在下面查看:
2. ls : 列出当前路径中的文件和目录。
$ ls
ls 列出当前路径中的文件和目录。
3. pwd : 显示工作目录
$ pwd
4. cat : 查看文件内容
$ cat somefile.js
cat 具有三个主要功能:
一次显示整个文件。
$ cat filename
创建一个文件并用上一个命令的输出填充它
$ cat > filenamebr
只能创建新文件,不能编辑现有文件。
将多个文件合并为一个文件。
$cat file1 file2 > file
在以下示例中linux查找关键字的行数linux查找关键字的行数,将 index.js 复制为 index2.js
5. echo : 字符串输出
$ echo "some text"
这是一个内置命令,主要用于 shell 脚本和批处理文件,用于将状态文本输出到屏幕或文件。
6. 触摸:创建文件
$ touch somefile
touch 命令用于创建一个没有任何内容的文件。
请注意,在上图中,我们使用 touch 创建文件并使用 cat 查看文件中的内容。由于新创建的 index2.js 文件为空,因此 cat 不返回任何内容。
以下是猫和触摸之间的主要区别:
7. mkdir : 创建一个新的空目录
$ mkdir some-directory
mkdir 在当前路径中创建一个新的空目录
8. rm : 删除文件/目录
$ rm [选项] someFile
rm 命令用于删除文件或目录。
选项:
8.1 rmdir : 删除空目录
$ rmdir some-directory
如果目录没有内容,该命令将删除该目录。否则,它返回提示 xxx not empty:
9. tail : 查看文档内容
$ tail [选项] somefile
默认显示文档的最后 10 行
几个常用的参数:
tail 命令在查看崩溃报告或以前的历史日志时很有用:
# tail /var/log/messages Mar 20 12:42:22 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd) Mar 20 12:42:24 hameda1d1c avahi-daemon[2027]: Registering new address record for fe80::4639:c4ff:fe53:4908 on eth0.*. Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPREQUEST on eth0 to 255.255.255.255 port 67 (xid=0x280436dd) Mar 20 12:42:28 hameda1d1c dhclient[4334]: DHCPACK from 10.76.198.1 (xid=0x280436dd) Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Joining mDNS multicast group on interface eth0.IPv4 with address 10.76.199.87. Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: New relevant interface eth0.IPv4 for mDNS. Mar 20 12:42:30 hameda1d1c avahi-daemon[2027]: Registering new address record for 10.76.199.87 on eth0.IPv4. Mar 20 12:42:30 hameda1d1c NET[4385]: /sbin/dhclient-script : updated /etc/resolv.conf Mar 20 12:42:30 hameda1d1c dhclient[4334]: bound to 10.76.199.87 -- renewal in 74685 seconds. Mar 20 12:45:39 hameda1d1c kernel: usb 3-7: USB disconnect, device number 2
10. find : 搜索文件
find 命令可以快速查找文件或目录。当您处理具有数百个文件和多个目录的大型项目时,此功能非常有用。
查找所有名为 index.js 的文件:
查找指定类型的文件:
$ find . -name "*.js"
11. mv : 移动文件
$ mv somefile /to/some/other/path
mv 命令将文件或目录从一个位置移动到另一个位置。
支持移动单个文件、多个文件和目录。
12. wget : 下载文件的工具
$ wget someurl
Wget 是一个免费软件包,用于使用 HTTP、HTTPS、FTP 和 FTPS(最广泛使用的 Internet 协议)检索文件。
这是一个非交互式命令行工具,因此可以从脚本、CRON 作业、不支持 X-Windows 的终端等轻松调用。
Wget 具有许多功能,可以轻松检索大文件或镜像整个 Web 或 FTP 站点,包括:
13. tree : 以树状图列出目录的内容
通常在编写文档时,您需要列出文件目录结构。这时候,tree 命令可以提供帮助。部分 Linux 和 macOS 上没有 tree 命令,需要安装:
确保先安装 Homebrew,如果没有,执行:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装树命令
brew install tree
影响:
(base) xxx$ tree . ├── djangoStudy │ ├── __init__.py │ ├── settings.py │ ├── urls.py │ └── wsgi.py └── manage.py 1 directory, 5 files
14.“|” : 管道命令
通常我们只能在终端执行一条命令,然后回车执行,那么如何执行多条命令呢?
美元?: 存储上一条命令的返回结果
// 栗子: $ which git>/dev/null && git --help // 如果存在git命令,执行git --help命令 $ echo $?
管道命令可以连接各种命令的输出和输入,使得链式操作变得简单。
管道是一种通信机制,通常用于进程间通信(或通过套接字进行网络通信),其形式是直接将前一个进程的输出(stdout)作为下一个进程的输入(stdin)
$ 指令1 | 指令2 | …
管道命令注意事项:
示例:1、 选项卡显示 /etc 目录内容的详细信息
$ ls -l /etc | more
2、在文件中输入一个字符串
$ echo "Hello World" | cat > hello.txt
后记和报价
心:读一件事
如果你觉得这个内容有启发性,我想邀请你帮我一个小忙:
点个赞,让更多人看到这个内容
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 欧资源网