阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

程序员需要了解的10个Linux命令

37次阅读
没有评论

共计 4257 个字符,预计需要花费 11 分钟才能阅读完成。

导读 作为一个程序员,在软件开发职业生涯中或多或少会用到 Linux 系统,并且可能会使用 Linux 命令来检索需要的信息。本文将为各位开发者分享 10 个有用的 Linux 命令,希望对你会有所帮助。

以下就是今天我们要介绍的 Linux 命令:

man touch, cat and less sort and grep cut sed tar find diff uniq chmod

接下来让我们逐一来详细介绍。

1、man 命令

第一个你需要知道的 Linux 命令就是 man 命令,该命令可以显示指定命令的用法和描述。比如你想知道 ls 命令的用法和选项,可以在终端执行“man ls”:

语法: man man ls

~# man ls LS(1) User Commands LS(1) NAME ls - list directory contents SYNOPSIS ls [OPTION]... [FILE]... DESCRIPTION List information about the FILEs (the current directory by default). Sort entries alphabetically if none of -cftuvSUX nor --sort is speciâ fied. Mandatory arguments to long options are mandatory for short options too. -a, --all do not ignore entries starting with .
2、touch,cat 和 less 命令

touch 命令可以在 Linux 系统中创建大小为 0 的任意类型文件,作为程序开发者,当你需要在 Linux 服务器上创建文件时,可以使用 touch 命令:

语法: touch touch demo.txt

~# touch demo.txt root@devopscube:~# ls demo.txt

cat 命令用来查看文件的内容,但是使用 cat 命令并不能编辑文件的内容,它仅仅是可以浏览文件内容。cat 命令不支持键盘上下键翻页。

语法: cat cat demo.txt

同样的 less 命令也可以让你浏览文件,less 命令非常快,并且支持上下键查看文件的开头和末尾。然而 more 命令和它类似,只是 more 命令只能用 enter 键实现文件的向前翻页,不支持回退。

语法: less more

less demo.txt more demo.txt
3、sort 和 grep 命令

sort 命令用来对文件内容进行排序。创建一个名为 test.txt 的文件,并且把以下内容拷贝到该文件中:

1 mike level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov

上面的例子中,第二列是名称,所以如果你想对名称列按字母排序,就可以使用“-k”选项,并标注列号,比如“-k2”:

语法: sort sort -k2 test.txt

排序结果

~# sort -k2 test.txt 45 Dave level expert dec 4 dennis start beginner jul 10 lucy level beginer mar 58 Mathew Head CEO nov 7 Megan employee trainee feb 1 mike level intermediate jan

第一列是数字,如果你想按数字排序,可以使用“-h”选项。如果数字在不同列上,你可以在“-h”选项后使用“-k”选项:

~# sort -h test.txt 1 mike level intermediate jan 4 dennis start beginner jul 7 Megan employee trainee feb 10 lucy level beginer mar 45 Dave level expert dec 58 Mathew Head CEO nov

最后一列是月份,你可以使用“-M”选项来让文件内容按月份排序:

~# sort -k5 -M test.txt 1 mike level intermediate jan 7 Megan employee trainee feb 10 lucy level beginer mar 4 dennis start beginner jul 58 Mathew Head CEO nov 45 Dave level expert dec

注:如果你想消除重复的行,可以在 sort 命令后使用“-u”选项。

使用“-r”选项,是文件倒序排列:

~# sort -h -r test.txt 58 Mathew Head CEO nov 45 Dave level expert dec 10 lucy level beginer mar 7 Megan employee trainee feb 4 dennis start beginner jul 1 mike level intermediate jan
Grep 命令:

Grep 命令非常强大,系统管理员经常会用到它。grep 命令可以在文件中搜索指定格式的字符串,同时对其进行标准输出。

语法: grep “” grep “Mathew” test.txt

~# grep "dennis" test.txt 4 dennis start beginner jul

上面命令的输出结果是包含该子字符串的,如果你想检索完整的单词,你需要添加“-i”选项。同时,也可以用 grep 命令在多个文件中搜索字符串,命令代码如下:

while(!game_over) {for each possible move: count_no_of_merges_for_2-tiles and 4-tiles choose the move with large number of merges}
grep "dennis" test1.txt test2.txt test3.txt

当然你也可以用正则表达式来匹配字符串。

4、cut 命令

cut 命令可以让你用列或者分隔符提取文件中的指定部分。如果你要列出文件中某列的全部内容,可以使用“-c”选项。例如,下面将从 test.txt 文件中提取第 1、2 列的全部内容。

cut -c1-2 test.txt
~# cut -c1-2 test.txt 1 10 45 4 7 58

如果你希望从文件中提取指定的字符串,那么你可以使用分隔符选项“-d”和“-f”选项选中列。例如,我们可以利用 cut 命令提取 names 列:

cut -d' ' -f2 test.txt
~# cut -d' ' -f2 test.txt mike lucy Dave dennis Megan Mathew

下面的例子从 /etc/passd file 中提取 users 列:

cut -d':' -f1 /etc/passwd
5、sed 命令

sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。

如果你想通过搜索替换文件中的指定内容,你可以使用“s”选项来检索到它然后将它替换。

语法: sed ‘s///’ test.txt

例如,在 test.txt 文件中用“michael”替换“mike”:

sed 's/mike/michael/' test.txt
~# sed 's/mike/michael/' test.txt 1 michael level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
6、tar 命令

tar 命令用来压缩和解压缩文件,其中经常会用到“-cf”和“-xf”选项。

语法: tar

让我们将 test.txt 文件打包:

tar -cf test.tar test.txt
~# tar -cf test.tar test.txt root@devopscube:~# ls test.tar test.txt

用“-C”选项将刚才打包好的 test.tar 文件解压缩至“demo”目录:

tar -xf test.tar -C /root/demo/
~# tar -xf test.tar -C /root/demo/ root@devopscube:~# cd demo/ root@devopscube:~/demo# ls test.txt
7、find 命令

find 命令用来检索文件,可以用“-name”选项来检索指定名称的文件:

find -name find -name test.txt
~#/home/ubuntu# cd ~ root@devopscube:~# find -name test.txt ./demo/test.txt ./test.txt

你也可以用“/ -name”来检索指定名称的文件夹:

find / -name passwd
~# find / -name passwd /etc/cron.daily/passwd /etc/pam.d/passwd /etc/passwd /usr/share/lintian/overrides/passwd
8、diff 命令

diff 命令用来找出 2 个文件的不同点。diff 命令通过分析文件内容,然后将不同的行打印出来,下面的例子可以找出两个文件 test 和 test1 的不同点

语法: diff diff test.txt test1.txt

~# diff test.txt test1.txt 7c7  59 sdfsd CTO dec
9、Uniq 命令

uniq 命令用来过滤文件中的重复行:

语法: uniq uniq test.txt

~# uniq test.txt 1 mike level intermediate jan 10 lucy level beginer mar 45 Dave level expert dec 4 dennis start beginner jul 7 Megan employee trainee feb 58 Mathew Head CEO nov
10、chmod 命令

chmod 命令用来改变文件的读 / 写 / 执行权限,权限数值如下所示:

4 – read permission 2 – write permission 1 – execute permission 0 – no permission

下面的命令可以给 test.txt 文件赋最高的权限:

chmod 755 test.txt

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-24发表,共计4257字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中