Home >Operation and Maintenance >Linux Operation and Maintenance >What are the 20 commonly used commands in Linux?
20 commonly used commands: ls, lsblk, md5sum, dd, uname, history, sudo, mkdir, touch, chmod, chown, apt, tar, cal, date, cat, cp, mv, pwd, cd .
#The operating environment of this tutorial: Red Hat Enterprise Linux 6.1 system, Dell G3 computer.
ls command means to list directory contents (List Directory Contents). Running it lists the contents of the folder, which may be files or folders.
root@tecmint:~# ls Android-Games Music Pictures Public Desktop Tecmint.com Documents TecMint-Sync Downloads Templates
The "ls -l" command lists the contents of a folder in long listing fashion.
root@tecmint:~# ls -l total 40588drwxrwxr-x 2 ravisaive ravisaive 4096 May 8 01:06 Android Games drwxr-xr-x 2 ravisaive ravisaive 4096 May 15 10:50 Desktop drwxr-xr-x 2 ravisaive ravisaive 4096 May 16 16:45 Documents drwxr-xr-x 6 ravisaive ravisaive 4096 May 16 14:34 Downloads drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Music drwxr-xr-x 2 ravisaive ravisaive 4096 May 9 17:54 Pictures drwxrwxr-x 5 ravisaive ravisaive 4096 May 3 18:44 Tecmint.com drwxr-xr-x 2 ravisaive ravisaive 4096 Apr 30 20:50 Templates
The "ls -a" command will list all contents in the folder, including hidden files starting with ".".
root@tecmint:~# ls -a . .gnupg .dbus .goutputstream-PI5VVW .mission-control .adobe deja-dup .grsync .mozilla .themes .gstreamer-0.10 .mtpaint .thumbnails .gtk-bookmarks .thunderbird .HotShots .mysql_history .htaccess .apport-ignore.xml .ICEauthority .profile .bash_history .icons .bash_logout .fbmessenger .jedit .pulse .bashrc .liferea_1.8 .pulse-cookie .Xauthority .gconf .local .Xauthority.HGHVWW .cache .gftp .macromedia .remmina .cinnamon .gimp-2.8.ssh .xsession-errors .compiz .gnome teamviewer_linux.deb .xsession-errors.old .config .gnome2 .zoncolor
Note: In Linux, files starting with "." are hidden files, and each file, folder, device or command starts with File treatment. ls -l Command output:
d (represents a directory).
rwxr-xr-x It is the permission of the file or directory to the user it belongs to, users in the same group and other users.
The first ravisaive in the above example represents that the file belongs to the userravisaive
The second ravisaive in the above example represents that the file belongs to the user group ravisaive
4096 represents the file The size is 4096 bytes.
##May 8 01:06 represents the date and time when the file was last modified.
ls" examples, please see 15 ls command examples in linux
lsblk" is to list block devices. In addition to RAM, block devices are neatly displayed in a standard tree-like output format.
root@tecmint:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk ├─sda1 8:1 0 46.6G 0 part /├─sda2 8:2 0 1K 0 part ├─sda5 8:5 0 190M 0 part /boot ├─sda6 8:6 0 3.7G 0 part [SWAP] ├─sda7 8:7 0 93.1G 0 part /data └─sda8 8:8 0 89.2G 0 part /personal sr0 11:0 1 1024M 0 romThe "
lsblk -l" command displays block devices in list format (instead of tree format).
root@tecmint:~# lsblk -l NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 232.9G 0 disk sda1 8:1 0 46.6G 0 part /sda2 8:2 0 1K 0 part sda5 8:5 0 190M 0 part /boot sda6 8:6 0 3.7G 0 part [SWAP] sda7 8:7 0 93.1G 0 part /data sda8 8:8 0 89.2G 0 part /personal sr0 11:0 1 1024M 0 romNOTE:
lsblk is the most useful and easiest way to learn the name of a newly inserted USB device, especially when you are dealing with disk/block devices in the terminal.
md5sum" is to calculate and verify the MD5 information signature. md5 checksums (often called hashes) are used to match or verify the integrity of files that may have been altered due to transmission errors, disk errors, or innocent interference.
root@tecmint:~# md5sum teamviewer_linux.deb 47790ed345a7b7970fc1f2ac50c97002 teamviewer_linux.debNote: Users can use the official provided signature information to match md5sum to detect whether the file has changed. Md5sum is not as secure as sha1sum, which we will discuss later.
dd" command represents converting and copying files. It can be used to convert and copy files, most of the time it is used to copy iso files (or any other files) to a usb device (or anywhere else), so it can be used to make a USB booter.
root@tecmint:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; syncNote: In the above example, the usb device is sdb1 (you should use the
lsblk command to verify it, otherwise you will overwrite your disk or system), please use the disk with caution The name should be avoided.
dd The execution of the command will take anywhere from a few seconds to a few minutes depending on the size and type of the file and the read and write speed of the USB device.
uname" command is the abbreviation of Unix Name. Shows machine name, operating system and kernel details.
root@tecmint:~# uname -a Linux tecmint 3.8.0-19-generic #30-Ubuntu SMP Wed May 1 16:36:13 UTC 2013 i686 i686 i686 GNU/LinuxNote:
unameDisplays the kernel category, uname -aDisplays detailed information. The output above details uname -a
Linux": The kernel name of the machine
tecmint“: The node name of the machine
3.8.0-19-generic“: The kernel release version
#30-Ubuntu SMP“: Kernel Version
i686“: Processor Architecture
GNU/Linux“: operating system name
history" command is the history record. It shows the history of all commands executed in the terminal.
root@tecmint:~# history 1 sudo add-apt-repository ppa:tualatrix/ppa 2 sudo apt-get update 3 sudo apt-get install ubuntu-tweak 4 sudo add-apt-repository ppa:diesch/testing 5 sudo apt-get update 6 sudo apt-get install indicator-privacy 7 sudo add-apt-repository ppa:atareao/atareao 8 sudo apt-get update 9 sudo apt-get install my-weather-indicator 10 pwd 11 cd && sudo cp -r unity/6 /usr/share/unity/ 12 cd /usr/share/unity/icons/ 13 cd /usr/share/unityNote: Press and hold "CTRL R" to search for commands that have been executed. It can automatically complete commands when you write them.
(reverse-i-search)`if': ifconfig
sudo" (super user do) command allows authorized users to execute commands from super users or other users. Specified through the security policy in the sudoers list.
root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa
注意:sudo 允许用户借用超级用户的权限,然而"su"命令实际上是允许用户以超级用户登录。所以sudo比su更安全。
并不建议使用sudo或者su来处理日常用途,因为它可能导致严重的错误如果你意外的做错了事,这就是为什么在linux社区流行一句话:
“To err is human, but to really foul up everything, you need root password = 人非圣贤孰能无过,但是拥有root密码就真的万劫不复了”
“mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")
root@tecmint:~# mkdir tecmint
注意:目录只能在用户拥有写权限的目录下才能创建。mkdir:不能创建目录`tecmint`,因为文件已经存在了。(上面的输出中不要被文件迷惑了,你应该记住我开头所说的-在linux中,文件,文件夹,驱动,命令,脚本都视为文件)
“touch”命令代表了将文件的访问和修改时间更新为当前时间。touch命令只会在文件不存在的时候才会创建它。如果文件已经存在了,它会更新时间戳,但是并不会改变文件的内容。
root@tecmint:~# touch tecmintfile
注意:touch 可以用来在用户拥有写权限的目录下创建不存在的文件。
“chmod”命令就是改变文件的模式位。chmod会根据要求的模式来改变每个所给的文件,文件夹,脚本等等的文件模式(权限)。
在文件(文件夹或者其它,为了简单起见,我们就使用文件)中存在3中类型的权限
Read (r)=4Write(w)=2Execute(x)=1
所以如果你想给文件只读权限,就设置为'4';只写权限,设置权限为'2';只执行权限,设置为1; 读写权限,就是4+2 = 6, 以此类推。
现在需要设置3种用户和用户组权限。第一个是拥有者,然后是用户所在的组,最后是其它用户。
rwxr-x--x abc.sh
这里root的权限是 rwx(读写和执行权限),
所属用户组权限是 r-x (只有读和执行权限, 没有写权限),
对于其它用户权限是 -x(只有只执行权限)
为了改变它的权限,为拥有者,用户所在组和其它用户提供读,写,执行权限。
root@tecmint:~# chmod 777 abc.sh
三种都只有读写权限
root@tecmint:~# chmod 666 abc.sh
拥有者用户有读写和执行权限,用户所在的组和其它用户只有可执行权限
root@tecmint:~# chmod 711 abc.sh
注意:对于系统管理员和用户来说,这个命令是最有用的命令之一了。在多用户环境或者服务器上,对于某个用户,如果设置了文件不可访问,那么这个命令就可以解决,如果设置了错误的权限,那么也就提供了为授权的访问。
“chown”命令就是改变文件拥有者和所在用户组。每个文件都属于一个用户组和一个用户。在你的目录下,使用"ls -l",你就会看到像这样的东西。
root@tecmint:~# ls -l drwxr-xr-x 3 server root 4096 May 10 11:14 Binary drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
在这里,目录Binary属于用户"server",和用户组"root",而目录"Desktop"属于用户“server”和用户组"server"
“chown”命令用来改变文件的所有权,所以仅仅用来管理和提供文件的用户和用户组授权。
root@tecmint:~# chown server:server Binary drwxr-xr-x 3 server server 4096 May 10 11:14 Binary drwxr-xr-x 2 server server 4096 May 13 09:42 Desktop
注意:“chown”所给的文件改变用户和组的所有权到新的拥有者或者已经存在的用户或者用户组。
Debian系列以“apt”命令为基础,“apt”代表了Advanced Package Tool。APT是一个为Debian系列系统(Ubuntu,Kubuntu等等)开发的高级包管理器,在Gnu/Linux系统上,它会为包自动地,智能地搜索,安装,升级以及解决依赖。
root@tecmint:~# apt-get install mplayer Reading package lists... Done Building dependency tree Reading state information... Done The following package was automatically installed and is no longer required: java-wrappers Use 'apt-get autoremove' to remove it. The following extra packages will be installed: esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 Suggested packages: pulseaudio-esound-compat libroar-compat2 nvidia-vdpau-driver vdpau-driver mplayer-doc netselect fping The following NEW packages will be installed: esound-common libaudiofile1 libesd0 libopenal-data libopenal1 libsvga1 libvdpau1 libxvidcore4 mplayer0 upgraded, 9 newly installed, 0 to remove and 8 not upgraded. Need to get 3,567 kB of archives. After this operation, 7,772 kB of additional disk space will be used. Do you want to continue [Y/n]? y
root@tecmint:~# apt-get update Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Get:1 http://security.ubuntu.com raring-security Release.gpg [933 B] Hit http://in.archive.ubuntu.com raring Release.gpg Hit http://ppa.launchpad.net raring Release.gpg Get:2 http://security.ubuntu.com raring-security Release [40.8 kB] Ign http://ppa.launchpad.net raring Release.gpg Get:3 http://in.archive.ubuntu.com raring-updates Release.gpg [933 B] Hit http://ppa.launchpad.net raring Release.gpg Hit http://in.archive.ubuntu.com raring-backports Release.gpg
注意:上面的命令会导致系统整体的改变,所以需要root密码(查看提示符为"#",而不是“$”).和yum命令相比,Apt更高级和智能。
见名知义,apt-cache用来搜索包中是否包含子包mplayer, apt-get用来安装,升级所有的已安装的包到最新版。
关于apt-get 和 apt-cache命令更多信息,请查看 25 APT-GET和APT-CACHE命令
“tar”命令是磁带归档(Tape Archive),对创建一些文件的的归档和它们的解压很有用。
root@tecmint:~# tar -zxvf abc.tar.gz (记住'z'代表了.tar.gz) root@tecmint:~# tar -jxvf abc.tar.bz2 (记住'j'代表了.tar.bz2) root@tecmint:~# tar -cvf archieve.tar.gz(.bz2) /path/to/folder/abc
注意: "tar.gz"代表了使用gzip归档,“bar.bz2”使用bzip压缩的,它压缩的更好但是也更慢。
了解更多"tar 命令"的例子,请查看 18 Tar命名例子
“cal”(Calender),它用来显示当前月份或者未来或者过去任何年份中的月份。
root@tecmint:~# cal May 2013 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
显示已经过去的月份,1835年2月
root@tecmint:~# cal 02 1835 February 1835 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
显示未来的月份,2145年7月。
root@tecmint:~# cal 07 2145 July 2145 Su Mo Tu We Th Fr Sa 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
注意: 你不需要往回调整日历50年,既不用复杂的数据计算你出生那天,也不用计算你的生日在哪天到来,[因为它的最小单位是月,而不是日]。
“date”命令使用标准的输出打印当前的日期和时间,也可以深入设置。
root@tecmint:~# date Fri May 17 14:13:29 IST 2013
root@tecmint:~# date --set='14 may 2013 13:57' Mon May 13 13:57:00 IST 2013
注意:这个命令在脚本中十分有用,以及基于时间和日期的脚本更完美。而且在终端中改变日期和时间,让你更专业!!!(当然你需要root权限才能操作这个,因为它是系统整体改变)
“cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。
root@tecmint:~# cat a.txt b.txt c.txt d.txt abcd.txt root@tecmint:~# cat abcd.txt .... contents of file abcd ...
注意:“>>”和“>”调用了追加符号。它们用来追加到文件里,而不是显示在标准输出上。“>”符号会删除已存在的文件,然后创建一个新的文件。所以因为安全的原因,建议使用“>>”,它会写入到文件中,而不是覆盖或者删除。
在深入探究之前,我必须让你知道通配符(你应该知道通配符,它出现在大多数电视选秀中)。通配符是shell的特色,和任何GUI文件管理器相比,它使命令行更强大有力!如你所看到那样,在一个图形文件管理器中,你想选择一大组文件,你通常不得不使用你的鼠标来选择它们。这可能觉得很简单,但是事实上,这种情形很让人沮丧!
例如,假如你有一个有很多很多各种类型的文件和子目录的目录,然后你决定移动所有文件名中包含“Linux”字样的HTML文件到另外一个目录。如何简单的完成这个?如果目录中包含了大量的不同名的HTML文件,你的任务很巨大,而不是简单了。
在LInux CLI中,这个任务就很简单,就好像只移动一个HTML文件,因为有shell的通配符,才会如此简单。这些是特殊的字符,允许你选择匹配某种字符模式的文件名。它帮助你来选择,即使是大量文件名中只有几个字符,而且在大多数情形中,它比使用鼠标选择文件更简单。
这里就是常用通配符列表:
Wildcard Matches * 零个或者更多字符 ? 恰好一个字符 [abcde] 恰好列举中的一个字符 [a-e] 恰好在所给范围中的一个字符 [!abcde] 任何字符都不在列举中 [!a-e] 任何字符都不在所给的范围中 {debian,linux} 恰好在所给选项中的一整个单词
! 叫做非,带'!'的反向字符串为真
更多请阅读Linux cat 命令的实例 13 Linux中cat命令实例
“copy”就是复制。它会从一个地方复制一个文件到另外一个地方。
root@tecmint:~# cp /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)
注意: cp,在shell脚本中是最常用的一个命令,而且它可以使用通配符(在前面一块中有所描述),来定制所需的文件的复制。
“mv”命令将一个地方的文件移动到另外一个地方去。
root@tecmint:~# mv /home/user/Downloads abc.tar.gz /home/user/Desktop (Return 0 when sucess)
注意:mv 命令可以使用通配符。mv需谨慎使用,因为移动系统的或者未授权的文件不但会导致安全性问题,而且可能系统崩溃。
“pwd”(print working directory),在终端中显示当前工作目录的全路径。
root@tecmint:~# pwd /home/user/Desktop
注意: 这个命令并不会在脚本中经常使用,但是对于新手,当从连接到nux很久后在终端中迷失了路径,这绝对是救命稻草
最后,经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作
root@tecmint:~# cd /home/user/Desktop server@localhost:~$ pwd /home/user/Desktop
注意: 在终端中切换目录时,cd就大显身手了。“cd ~”会改变工作目录为用户的家目录,而且当用户发现自己在终端中迷失了路径时,非常有用。“cd ..”从当前工作目录切换到(当前工作目录的)父目录。
相关推荐:《Linux视频教程》
The above is the detailed content of What are the 20 commonly used commands in Linux?. For more information, please follow other related articles on the PHP Chinese website!