转http://devopscube.com/list-of-linux-commands-every-developer-should-know/

At some point in you developer career , you will have to work with Linux Systems and you will be looking for information regarding Linux commands. In this post I will explain the use of 10 Linux commands you should know as a developer.

10 Linux Commands For Developers

Following are the  list of ten commands you will learn about in this post

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

Lets get started.

1. Man

The first command you should learn in Linux is “man”. Using this command you can get the usage and description of all  Linux commands. For example, if you want to know about “ls” command and its options, just execute “man ls” command in the terminal to list its usage and description.

Syntax: man <command name>
man ls
root@devopscube:~# 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 .

Recommended: Learn Linux in 5 Days and Level Up Your Career Udemy Course

2. Touch, Cat And Less

Touch command is used to create any type of file in Linux systems with “0” size. As a developer , when working with Linux you might want to create files in the server. You can make use of touch command to do that.

Syntax: touch <filename>
touch demo.txt root@devopscube:~# touch demo.txt
root@devopscube:~# ls
demo.txt

Cat command is used to view the contents of a file. You cannot edit the contents of the file using cat. It just gives a view of the file. cat doesn’t support scrolling using keyboard.

Note: To work the commands given below, copy any content to the demo.txt file using your favorite vi or nano editor. For our examples, i have copied the boot.log file contents on to demo.txt file using ” cat /var/log/boot.log >> demo.txt” command. You can also do the same.

Syntax: cat <filename>
cat demo.txt

Less command also gives the view of a file. less is very fast and you can use the arrow keys to scroll up and down to know the start and end of the file. There is also “more” command, which is used to view the file but it allows only forward scrolling using “enter” key. It doesn’t support backward scrolling.

Syntax: less <filename>
        more <filename>
less demo.txt
more demo.txt

3. Sort And Grep

Sort is used to sort the contents of a file. Create a file named test.txt and copy the following contents on to the file to test the sort command.

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

In the above example, second column has the names. So if you want to sort the names alphabetically use “-k” flag with the column location. It would be “-k2”.

Syntax: sort

sort -k2 test.txt
root@devopscube:~# 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

The first column has numbers. If you want to sort numbers, use  “-h” flag. If the numbers are in different column, you can use the “-k” flag along with “-h” flag.

root@devopscube:~# 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

The last column has months. You can sort a file based on month using “-M” flag.

root@devopscube:~# 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

Note: If you want to eliminate the duplicate lines , you can use “-u” flag along with the sort command.

To sort the file in descending order, use “-r” flag.

root@devopscube:~# 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 is a powerful command and will be used by sysadmins quite often. Grep command is used for searching specific string patterns in a file as well as the standard output (STDIN). We will look into few file based operations . Other uses of grep is out of scope of this post.

Syntax: grep "<search string>" <filename>
grep "Mathew" test.txt
root@devopscube:~# grep "dennis" test.txt
4 dennis start beginner jul

The above command gives the output including the sub-string. If you want to search for individual words, you need to add “-i” flag to the grep command. Also you can search for a string or a pattern in multiple files using a single grep command. For example,

grep "dennis" test1.txt test2.txt test3.txt

You can also use regular expressions for matching the string.

READ  How To Setup an NFS Server and Client For File Sharing

4. Cut

Cut command is used for extracting a portion of a file using columns and delimiters. If you want to list everything in a selected column, use the “-c” flag with cut command. For example, lets select the first two columns from our test.txt file.

cut -c1-2 test.txt
root@devopscube:~# cut -c1-2 test.txt
1
10
45
4
7
58

If you want to extract specific strings from a file, you can used the delimiter “-d” flag and “-f” flag to select the field. For example, if you wan to extract all the names from our test.txt file you can use the following command.

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

The following example extracts the users from /etc/passd file using ‘:” delimiter.

cut -d':' -f1 /etc/passwd

5. Sed

sed is a text-editor which can perform editing operations in a non-interactive way. Sed command gets its input from a standard input or a file to perform the editing operation on a file. Sed is a very powerful utility and you can do a lot of file manipulations using sed. I will explain the important operation you might want to do with text file.

I you want to replace a text in a file by searching it in a file, you can use the  sed  command with substitute “s” flag to search for the specific pattern and change it.

Syntax: sed 's/<old-word>/<new-word>/' test.txt

For example, lets replace  “mike” in test.txt file to “michael

sed 's/mike/michael/' test.txt
root@devopscube:~# 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

In the above example we used “/” as a delimiter for string substitution. You can use any character as a delimiter for substitution. For example, if you want to make changes to a url, you need to have a different delimiter because the url already have slashes. So you can substitute like the following.

echo "http://www.example.uk/main.html" | sed 's_uk/main_com/index_'
root@devopscube:~# echo "http://www.example.uk/main.html" | sed 's_uk/main_com/index_'
http://www.example.com/index.html

You can also replace a line by matching a string pattern in the line. “-c” flag is used for replacing text using sed. Lets replace the first line in our test.txt file using the following command.

 sed '/1 mike/c 1 michael start beginner mar' test.txt
root@devopscube:~# sed '/1 mike/c 1 michael start beginner mar' test.txt
1 michael start beginner mar
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 command is used to create and extract archive files. “-cf” and “-xf” flags are used for creating and extracting archives.

Syntax: tar <options> <archive-name> <file/folder name>

Lets  create a tar archive out of test.txt file

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

Lets extract the test.tar archive to the destination folder “demo” using “-C” flag.

tar -xf test.tar -C /root/demo/
root@devopscube:~# tar -xf test.tar -C /root/demo/
root@devopscube:~# cd demo/
root@devopscube:~/demo# ls
test.txt

7. Find

find command is used for finding files. You can find the files using its name with “-name” flag.

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

You can also find folder using its name by using”/ -name” flag.

find / -name passwd
root@devopscube:~# find / -name passwd
/etc/cron.daily/passwd
/etc/pam.d/passwd
/etc/passwd
/usr/share/lintian/overrides/passwd

8. Diff

diff command is used to find the difference between two files. Diff command analyses the files and prints the lines which are different. Lets say we have two files test and test1. you can find the difference between the two files using the following command.

Syntax: diff <filename1> <filename2>
diff test.txt test1.txt
root@devopscube:~# diff test.txt test1.txt
7c7
< 59 sdfsd
---
> 59 sdfsd  CTO dec

9. Uniq

uniq command is used for filtering out the duplicate line in a file.

Syntax: uniq
uniq test.txt
root@devopscube:~# 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 command is used for changing the read/write/execute permissions of a file. Permissions are represented in numbers as follows.

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

To give all permissions on test.txt file, you can use the following chmod command.

chmod 755 test.txt

适合初学者的10个linux命令的更多相关文章

  1. 10个 Linux 命令,让你的操作更有效率

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 根据老九大师兄口头阐述,Linux是最适合开发的操作系统 ...

  2. 每一个程序员需要了解的10个Linux命令

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

  3. 【转】每一个程序员需要了解的10个Linux命令

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

  4. 10条Linux 命令了解服务器当前性能

    参考:http://www.infoq.com/cn/news/2015/12/linux-performance 1. uptime 如果电脑运行缓慢,执行 uptime 可以大致查看Linux服务 ...

  5. 详解Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  6. Linux命令——pgrep

    参考:Linux pgrep Command Tutorial for Beginners (10 Examples) Linux命令——ps.pstree bash基础——grep.基本正则表达式. ...

  7. Linux命令行下常用svn命令

    1.Linux命令行下将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/do ...

  8. 再见Xshell、Xftp!Python执行Linux命令、上传下载远程文件

    相信大家应该都接触过Linux操作系统(Ubuntu.Centos等),那么在使用的Linux操作系统需要使用一些远程ssh工具,尤其是公网服务器. 常用的ssh工具主要有:Xshell.MobaXt ...

  9. 初学者常用的LINUX命令

    测试初学者常用的LINUX命令 一.常用管理命令:1. shutdown -h now 关机命令2. shutdown -r now (reboot) 立即重启命令 3. clear 清屏命令 4. ...

随机推荐

  1. css 文本溢出省略号

    单行溢出显示省略号: white-space: nowrap; overflow: hidden; text-overflow: ellipsis; 多行溢出显示省略号: text-overflow: ...

  2. ubuntu18.04 LAMP DVWA

    一.基本擦作: sudo apt-get install lamp-server^ sudo chmod 777 /var/www #也有可能是/var/www/html,访问127.0.0.1验证是 ...

  3. python进阶强化学习

    最近学习了慕课的python进阶强化训练,将学习的内容记录到这里,同时也增加了很多相关知识. 主要分为以下九个模块: 基本使用 迭代器和生成器 字符串 文件IO操作 自定义类和类的继承 函数装饰器和类 ...

  4. JuJu团队1月3号工作汇报

    JuJu团队1月3号工作汇报 JuJu   Scrum 团队成员 今日工作 剩余任务 困难 飞飞 测试dataloader 将model嵌入GUI 无 婷婷 调试代码 提升acc 无 恩升 -- 写p ...

  5. Docker 学习之部署php + nginx(一)

    博主电脑系统是window 10 专业版的,所以在此记录下docker的基本使用方法. 参考地址: https://www.runoob.com/docker/docker-install-php.h ...

  6. redis cluster 添加/删除节点操作

    RedisCluster 添加/删除节点 添加节点新配置两个测试节点8008和9009 [root@--- ~]# /usr/local/redis-/bin/redis-server /u02/re ...

  7. Day4 - K - Ant Trip HDU - 3018

    Ant Country consist of N towns.There are M roads connecting the towns. Ant Tony,together with his fr ...

  8. 使用JavaScript实现一个简单的编译器

    在前端开发中也会或多或少接触到一些与编译相关的内容,常见的有 将ES6.7代码编译成ES5的代码 将SCSS.LESS代码转换成浏览器支持的CSS代码 通过uglifyjs.uglifycss等工具压 ...

  9. Java连载67-深入一维数组、main方法中的args参数详解

    一.复习了一维数组,还复习了强制类型转换的注意点. package com.bjpowernode.java_learning; public class D67_1_GoDeepIntoArrays ...

  10. win上java1.7和1.8版本修改环境变量无效.md

    网上找了很多办法都没用. 解决办法: 看看自己 "系统环境变量" 中是不是有 "C:\ProgramData\Oracle\Java\javapath" 这项配 ...