Menu Close

管理员最最常用的50个linux命令及应用举例分析

该篇文章介绍linux50个常用的命令。并给出每个命令的举例。

1. tar command 举例

产生一个新的压缩文件, C – create 产生

$ tar cvf archive_name.tar dirname/

解压一个压缩文件, x – extract 解压

$ tar xvf archive_name.tar

观看一个压缩文件 t – view

$ tar tvf archive_name.tar

 

2. grep command 举例

搜索一个文件内的字符串 ( 大小写敏感)

grep -i “the” demo_file

打印出含有字符串的行,并在该行后留出三行

$ grep -A 3 -i "example" demo_text

r – recursively

在一个目录内搜索所有文件的给定字符串

$ grep -r "ramesh" *

 

3. find command举例

发现文件通过文件名 (大小写敏感)

# find -iname "MyCProgram.c"

对发现的文件进行md5sum操作

$ find -iname "MyCProgram.c" -exec md5sum {} \;

home 目录下发现所有空文件

# find ~ -empty

 

4. ssh command 举例

登入遥远的服务器 remotehost.example.com

ssh -l jsmith remotehost.example.com

Debug ssh client

ssh -v -l jsmith remotehost.example.com

Display ssh client version

显示SSH终端的版本号

$ ssh -V
OpenSSH_3.9p1, OpenSSL 0.9.7a Feb 19 2003

 

5. sed command 举例

When you copy a DOS file to Unix, you could find \r\n in the end of each line. This example converts the DOS file format to Unix file format using sed command.

当你拷贝DOS文件到Unix时,在每一个文件后有\r\n。下例子说明如何把DOS文件格式转化成Unix文件格式。

$sed 's/.$//' filename

Print file content in reverse order

相反顺序打印出文件内容

$ sed -n '1!G;h;$p' thegeekstuff.txt

Add line number for all non-empty-lines in a file

打印出一个文件内各非空行文件的行号。

$ sed '/./=' thegeekstuff.txt | sed 'N; s/\n/ /'

 

6. awk command 举例

利用awk命令删除重复的行

$ awk '!($0 in array) { array[$0]; print }' temp

打印出/etc/passwd 中含有同样uid 和gid的所有行

$awk -F ':' '$3==$4' passwd.txt

打印出一个文件的特定范围。

$ awk '{print $2,$5;}' employee.txt

 

7. vim command 举例

光标到第143行

$ vim +143 filename.txt

光标到第一个选定的match

$ vim +/search-term filename.txt

以只读形式打开文件

$ vim -R /etc/passwd

8. diff command举例

比较时忽略空格

# diff -w name_list.txt name_list_new.txt

2c2,3
< John Doe --- > John M Doe
> Jason Bourne

 

9. sort command 举例

Sort a file in ascending order

$ sort names.txt

Sort a file in descending order

$ sort -r names.txt

Sort passwd file by 3rd field.

$ sort -t: -k 3n /etc/passwd | more

10. export command 举例

查看oracle相关的环境变量

$ export | grep ORACLE
declare -x ORACLE_BASE="/u01/app/oracle"
declare -x ORACLE_HOME="/u01/app/oracle/product/10.2.0"
declare -x ORACLE_SID="med"
declare -x ORACLE_TERM="xterm"

输出一个环境变量

$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0

11. xargs command 举例

把所有图文件拷贝到外部的硬盘。

# ls *.jpg | xargs -n1 -i cp {} /external-hard-drive/directory

搜索所有 jpg图文件并压缩

# find / -name *.jpg -type f -print | xargs tar -cvzf images.tar.gz

Download all the URLs mentioned in the url-list.txt file

下载所有的URL在url-list.txt文件内

# cat url-list.txt | xargs wget –c

12. ls command 举例 (最常用的命令)

Display filesize in human readable format (e.g. KB, MB etc.,)

人类可读的模式显示文件大小

$ ls -lh
-rw-r----- 1 ramesh team-dev 8.9M Jun 12 15:27 arch-linux.txt.gz

Order Files Based on Last Modified Time (In Reverse Order) Using ls -ltr (修改时间)

$ ls -ltr

Visual Classification of Files With Special Characters Using ls -F

$ ls -F

13. pwd 举例

pwd 是打印当前工作目录。最常用的命令

14. cd command 举例 (最常用的命令)

Use “cd -” 两个目录间切换

Use “shopt -s cdspell” to 自动修改打错的目录 automatically correct mistyped directory names on cd

15. gzip command 举例

To create a *.gz compressed file:

$ gzip test.txt

To uncompress a *.gz file:

$ gzip -d test.txt.gz

Display compression ratio of the compressed file using gzip -l

$ gzip -l *.gz
         compressed        uncompressed  ratio uncompressed_name
              23709               97975  75.8% asp-patch-rpms.txt

16. bzip2 command 举例

To create a *.bz2 compressed file:

$ bzip2 test.txt

To uncompress a *.bz2 file:

bzip2 -d test.txt.bz2

17. unzip command举例

To extract a *.zip compressed file: (解压一个压缩文件)

$ unzip test.zip

View the contents of *.zip file (Without unzipping it):

$ unzip -l jasper.zip
Archive:  jasper.zip
  Length     Date   Time    Name
 --------    ----   ----    ----
    40995  11-30-98 23:50   META-INF/MANIFEST.MF
    32169  08-25-98 21:07   classes_
    15964  08-25-98 21:07   classes_names
    10542  08-25-98 21:07   classes_ncomp

18. shutdown command 举例

Shutdown the system and turn the power off immediately.

# shutdown -h now

Shutdown the system after 10 minutes.

# shutdown -h +10

Reboot the system using shutdown command.

# shutdown -r now

Force the filesystem check during reboot.

# shutdown -Fr now

19. ftp command 举例

Both ftp and secure ftp (sftp) has similar commands. To connect to a remote server and download multiple files, do the following.

$ ftp IP/hostname
ftp> mget *.html

To view the file names located on the remote server before downloading, mls ftp command as shown below.

ftp> mls *.html -
/ftptest/features.html
/ftptest/index.html
/ftptest/othertools.html
/ftptest/samplereport.html
/ftptest/usage.html

20. crontab command 举例

View crontab entry for a specific user

# crontab -u john -l

Schedule a cron job every 10 minutes.

*/10 * * * * /home/ramesh/check-disk-space

21. service command 举例

Service command is used to run the system V init scripts. i.e Instead of calling the scripts located in the /etc/init.d/ directory with their full path, you can use the service command.

Check the status of a service:

# service ssh status

Check the status of all the services.

service --status-all

Restart a service.

# service ssh restart

22. ps command 举例

ps command is used to display information about the processes that are running in the system.

While there are lot of arguments that could be passed to a ps command, following are some of the common ones.

To view current running processes.

$ ps -ef | more

To view current running processes in a tree structure. H option stands for process hierarchy.

$ ps -efH | more

23. free command 举例

This command is used to display the free, used, swap memory available in the system.

Typical free command output. The output is displayed in bytes.

$ free
             total       used       free     shared    buffers     cached
Mem:       3566408    1580220    1986188          0     203988     902960
-/+ buffers/cache:     473272    3093136
Swap:      4000176          0    4000176

If you want to quickly check how many GB of RAM your system has use the -g option. -b option displays in bytes, -k in kilo bytes, -m in mega bytes.

$ free -g
             total       used       free     shared    buffers     cached
Mem:             3          1          1          0          0          0
-/+ buffers/cache:          0          2
Swap:            3          0          3

If you want to see a total memory ( including the swap), use the -t switch, which will display a total line as shown below.

ramesh@ramesh-laptop:~$ free -t
             total       used       free     shared    buffers     cached
Mem:       3566408    1592148    1974260          0     204260     912556
-/+ buffers/cache:     475332    3091076
Swap:      4000176          0    4000176
Total:     7566584    1592148    5974436

24. top command 举例

top 命令显示系统中排名靠前的进程(默认按 CPU 使用率排序)。要按任何列对顶部输出进行排序,请按 O(大写 O),它将显示您可以排序的所有可能列,如下所示。

Current Sort Field:  P  for window 1:Def
Select sort field via field letter, type any other key to return

  a: PID        = Process Id              v: nDRT       = Dirty Pages count
  d: UID        = User Id                 y: WCHAN      = Sleeping in Function
  e: USER       = User Name               z: Flags      = Task Flags
  ........

To displays only the processes that belong to a particular user use -u option. The following will show only the top processes that belongs to oracle user.

$ top -u oracle

25. df command 举例

Displays the file system disk space usage. By default df -k displays output in bytes.

$ df -k
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sda1             29530400   3233104  24797232  12% /
/dev/sda2            120367992  50171596  64082060  44% /home

df -h displays output in human readable form. i.e size will be displayed in GB’s.

ramesh@ramesh-laptop:~$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              29G  3.1G   24G  12% /
/dev/sda2             115G   48G   62G  44% /home

Use -T option to display what type of file system.

ramesh@ramesh-laptop:~$ df -T
Filesystem    Type   1K-blocks      Used Available Use% Mounted on
/dev/sda1     ext4    29530400   3233120  24797216  12% /
/dev/sda2     ext4   120367992  50171596  64082060  44% /home

26. kill command 举例

Use kill command to terminate a process. First get the process id using ps -ef command, then use kill -9 to kill the running Linux process as shown below. You can also use killall, pkill, xkill to terminate a unix process.

$ ps -ef | grep vim
ramesh    7243  7222  9 22:43 pts/2    00:00:00 vim

$ kill -9 7243

27. rm command 举例

Get confirmation before removing the file.

$ rm -i filename.txt

It is very useful while giving shell metacharacters in the file name argument.

Print the filename and get confirmation before removing the file.

$ rm -i file*

Following example recursively removes all files and directories under the example directory. This also removes the example directory itself.

$ rm -r example

28. cp command 举例

Copy file1 to file2 preserving the mode, ownership and timestamp.

$ cp -p file1 file2

Copy file1 to file2. if file2 exists prompt for confirmation before overwritting it.

$ cp -i file1 file2

29. mv command 举例

Rename file1 to file2. if file2 exists prompt for confirmation before overwritting it.

$ mv -i file1 file2

Note: mv -f is just the opposite, which will overwrite file2 without prompting.

mv -v will print what is happening during file rename, which is useful while specifying shell metacharacters in the file name argument.

$ mv -v file1 file2

30. cat command 举例

You can view multiple files at the same time. Following example prints the content of file1 followed by file2 to stdout.

$ cat file1 file2

While displaying the file, following cat -n command will prepend the line number to each line of the output.

$ cat -n /etc/logrotate.conf
    1	/var/log/btmp {
    2	    missingok
    3	    monthly
    4	    create 0660 root utmp
    5	    rotate 1
    6	}

31. mount command 举例

To mount a file system, you should first create a directory and mount it as shown below.

# mkdir /u01

# mount /dev/sdb1 /u01

You can also add this to the fstab for automatic mounting. i.e Anytime system is restarted, the filesystem will be mounted.

/dev/sdb1 /u01 ext2 defaults 0 2

32. chmod command 举例

chmod command is used to change the permissions for a file or directory.

Give full access to user and group (i.e read, write and execute ) on a specific file.

$ chmod ug+rwx file.txt

Revoke all access for the group (i.e read, write and execute ) on a specific file.

$ chmod g-rwx file.txt

Apply the file permissions recursively to all the files in the sub-directories.

$ chmod -R ug+rwx file.txt

33. chown command 举例

chown command is used to change the owner and group of a file.

To change owner to oracle and group to db on a file. i.e Change both owner and group at the same time.

$ chown oracle:dba dbora.sh

Use -R to change the ownership recursively.

$ chown -R oracle:dba /home/oracle

34. passwd command 举例

Change your password from command line using passwd. This will prompt for the old password followed by the new password.

$ passwd

Super user can use passwd command to reset others password. This will not prompt for current password of the user.

# passwd USERNAME

Remove password for a specific user. Root user can disable password for a specific user. Once the password is disabled, the user can login without entering the password.

# passwd -d USERNAME

35. mkdir command 举例

以下示例在您的主目录下创建一个名为 temp 的目录。

$ mkdir ~/temp

Create nested directories using one mkdir command. If any of these directories exist already, it will not display any error. If any of these directories doesn’t exist, it will create them.

$ mkdir -p dir1/dir2/dir3/dir4/

36. ifconfig command 举例

使用 ifconfig 命令查看或配置 Linux 系统上的网络接口。

查看所有接口以及状态。

$ ifconfig -a

Start or stop a specific interface using up and down command as shown below.

$ ifconfig eth0 up

$ ifconfig eth0 down

37. uname command 举例

uname 命令显示有关系统的重要信息,例如 — 内核名称、主机名、内核版本号、处理器类型等,

来自 Ubuntu 笔记本电脑的示例 uname 输出如下所示。

$ uname -a
Linux john-laptop 2.6.32-24-generic #41-Ubuntu SMP Thu Aug 19 01:12:52 UTC 2010 i686 GNU/Linux

38. whereis command 举例

当你想找出某个特定的 Unix 命令存在于何处(例如,ls 命令存在于何处?)时,可以执行以下命令。

$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

When you want to search an executable from a path other than the whereis default path, you can use -B option and give path as argument to it. This searches for the executable lsmk in the /tmp directory, and displays it, if it is available.

$ whereis -u -B /tmp -f lsmk
lsmk: /tmp/lsmk

39. whatis command 举例

Whatis command displays a single line description about a command.

$ whatis ls
ls		(1)  - list directory contents

$ whatis ifconfig
ifconfig (8)         - configure a network interface

40. locate command 举例

Using locate command you can quickly search for the location of a specific file (or group of files). Locate command uses the database created by updatedb.

The example below shows all files in the system that contains the word crontab in it.

$ locate crontab
/etc/anacrontab
/etc/crontab
/usr/bin/crontab
/usr/share/doc/cron/examples/crontab2english.pl.gz
/usr/share/man/man1/crontab.1.gz
/usr/share/man/man5/anacrontab.5.gz
/usr/share/man/man5/crontab.5.gz
/usr/share/vim/vim72/syntax/crontab.vim

41. man command 举例

Display the man page of a specific command.

$ man crontab

当命令的手册页位于多个部分下时,您可以从特定部分查看该命令的手册页,如下所示。

$ man SECTION-NUMBER commandname

手册页中提供了以下 8 个部分:

  1. 一般命令
  2. 系统调用
  3. C 库函数
  4. 特殊文件(通常是设备,位于 /dev 中的那些)和驱动程序
  5. 文件格式和约定
  6. 游戏和屏保
  7. 各种各样的小
  8. 系统管理命令和守护进程

例如,当您执行 whatis crontab 时,您会注意到 crontab 有两个手册页(第 1 节和第 5 节)。要查看 crontab 手册页的第 5 部分,请执行以下操作。

$ whatis crontab
crontab (1)          - maintain crontab files for individual users (V3)
crontab (5)          - tables for driving cron

$ man 5 crontab技巧

42. tail command 举例

默认情况下打印文件的最后 10 行。

$ tail filename.txt

Print N number of lines from the file named filename.txt

$ tail -n N filename.txt

View the content of the file in real time using tail -f. This is useful to view the log files, that keeps growing. The command can be terminated using CTRL-C.

$ tail -f log-file

43. less command 举例

less 在查看巨大的日志文件时非常有效,因为它不需要在打开时加载完整的文件。

$ less huge-log-file.log

One you open a file using less command, following two keys are very helpful.

CTRL+F – forward one window
CTRL+B – backward one window

44. su command 举例

Switch to a different user account using su command. Super user can switch to any other user without entering their password.

$ su - USERNAME

从不同的帐户名执行单个命令。在以下示例中,john 可以作为 raj 用户名执行 ls 命令。执行命令后,它将返回到 john 的帐户。

[john@dev-server]$ su - raj -c 'ls'

[john@dev-server]$

Login to a specified user account, and execute the specified shell instead of the default shell.

$ su -s 'SHELLNAME' USERNAME

45. mysql command 举例

mysql 可能是 Linux 上使用最广泛的开源数据库。即使您没有在服务器上运行 mysql 数据库,您最终也可能使用 mysql 命令 (client) 连接到远程服务器上运行的 mysql 数据库。

连接到远程 192.168.1.2 mysql 数据库。这将提示输入密码。

$ mysql -u root -p -h 192.168.1.2

To connect to a local mysql database.

链接到本地的mysql 数据库

$ mysql -u root -p

If you want to specify the mysql root password in the command line itself, enter it immediately after -p (without any space).

46. yum command 举例

To install apache using yum. (Linux环境下安装apache)

$ yum install httpd

To upgrade apache using yum.

$ yum update httpd

To uninstall/remove apache using yum.

$ yum remove httpd

47. rpm command 举例

To install apache using rpm. (Linux环境下安装apache)

# rpm -ivh httpd-2.2.3-22.0.1.el5.i386.rpm

To upgrade apache using rpm. (更新apache)

# rpm -uvh httpd-2.2.3-22.0.1.el5.i386.rpm

To uninstall/remove apache using rpm. (下载删除apache)

# rpm -ev httpd

48. ping command 举例

ping出5个packages.

Ping a remote host by sending only 5 packets.

$ ping -c 5 gmail.com

49. date command 举例

Set the system date: (设置系统时间)

# date -s "01/31/2010 23:59:53"

Once you’ve changed the system date, you should syncronize the hardware clock with the system date as shown below.

# hwclock –systohc

# hwclock --systohc –utc

50. wget command 举例

The quick and effective method to download software, music, video from internet is using wget command.

很快的从URL处下载软件,音乐,视频,和压缩文件

$ wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.1.tar.gz

Download and store it with a different name.

下载并保存在不同文件下

$ wget -O taglist.zip http://www.vim.org/scripts/download_script.php?src_id=7701

Did I miss any frequently used Linux commands? Leave a comment and let me know.

除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in Linux 教程

Related Posts