**1.** # **sudo命令**
“sudo”(super user do)命令允许授权用户执行超级用户或者其它用户的命令。通过在sudoers列表的安全策略来指定。
~~~
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密码就真的万劫不复了。”
* * * * *
* * * * *
**2.**# **mkdir命令**
“mkdir”(Make directory)命令在命名路径下创建新的目录。然而如果目录已经存在了,那么它就会返回一个错误信息"不能创建文件夹,文件夹已经存在了"("cannot create folder, folder already exists")
~~~
root@tecmint:~# mkdir tecmint
~~~
注意:目录只能在用户拥有写权限的目录下才能创建。mkdir:不能创建目录`tecmint`,因为文件已经存在了。(上面的输出中不要被文件迷惑了,你应该记住我开头所说的-在linux中,文件,文件夹,驱动,命令,脚本都视为文件)
* * * * *
* * * * *
**3.**# **chown命令**
“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”所给的文件改变用户和组的所有权到新的拥有者或者已经存在的用户或者用户组。
* * * * *
* * * * *
**4.**# **apt命令**
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 mplayer
0 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用来安装,升级所有的已安装的包到最新版。
* * * * *
* * * * *
**5.**# **tar命令**
“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压缩的,它压缩的更好但是也更慢。
* * * * *
* * * * *
**6.**# **cat命令**
cat”代表了连结(Concatenation),连接两个或者更多文本文件或者以标准输出形式打印文件的内容。
~~~
root@tecmint:~# cat a.txt b.txt c.txt d.txt abcd.txt
root@tecmint:~# cat abcd.txt
....
contents of file abcd
...
~~~
注意:“>>”和“>”调用了追加符号。它们用来追加到文件里,而不是显示在标准输出上。“>”符号会删除已存在的文件,然后创建一个新的文件。所以因为安全的原因,建议使用“>>”,它会写入到文件中,而不是覆盖或者删除。
* * * * *
* * * * *
**7.**# **cd 命令**
经常使用的“cd”命令代表了改变目录。它在终端中改变工作目录来执行,复制,移动,读,写等等操作。
~~~
root@tecmint:~# cd /home/user/Desktop
server@localhost:~$ pwd
/home/user/Desktop
~~~
注意: 在终端中切换目录时,cd就大显身手了。“cd ~”会改变工作目录为用户的家目录,而且当用户发现自己在终端中迷失了路径时,非常有用。“cd ..”从当前工作目录切换到(当前工作目录的)父目录。
* * * * *
* * * * *
**8.**# **pwd 命令**
pwd”(print working directory),在终端中显示当前工作目录的全路径。
~~~
root@tecmint:~# pwd
/home/user/Desktop
~~~
注意: 这个命令并不会在脚本中经常使用,但是对于新手,当从连接到nux很久后在终端中迷失了路径,这绝对是救命稻草。
* * * * *
* * * * *
**9.**# **ls命令**
ls命令是列出目录内容(List Directory Contents)的意思。运行它就是列出文件夹里的内容,可能是文件也可能是文件夹。
~~~
root@tecmint:~# ls
Android-Games Music
Pictures Public
Desktop Tecmint.com
Documents TecMint-Sync
Downloads Templates
~~~
“ls -l”命令以详情模式(long listing fashion)列出文件夹的内容。
~~~
root@tecmint:~# ls -l
total 40588
drwxrwxr-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
~~~
"ls -a"命令会列出文件夹里的所有内容,包括以"."开头的隐藏文件。
~~~
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
~~~
注意:在Linux中,文件以“.”开头的就是隐藏文件,并且每个文件,文件夹,设备或者命令都是以文件对待。ls -l 命令输出:
1.d (代表了是目录).
2.rwxr-xr-x 是文件或者目录对所属用户,同一组用户和其它用户的权限。
3.上面例子中第一个ravisaive 代表了文件文件属于用户ravisaive
4.上面例子中的第二个ravisaive代表了文件文件属于用户组ravisaive
5.4096 代表了文件大小为4096字节.
6.May 8 01:06 代表了文件最后一次修改的日期和时间.
7.最后面的就是文件/文件夹的名字
* * * * *
* * * * *
**10.**# **uname命令**
"uname"命令就是Unix Name的简写。显示机器名,操作系统和内核的详细信息。
~~~
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/Linux
~~~
注意: uname显示内核类别, uname -a显示详细信息。上面的输出详细说明了uname -a
1. “Linux“: 机器的内核名
2.“tecmint“: 机器的节点名
3.“3.8.0-19-generic“: 内核发布版本
4.“#30-Ubuntu SMP“: 内核版本
5.“i686“: 处理器架构
6.“GNU/Linux“: 操作系统名
* * * * *
* * * * *
**上面的内容来自oschina的66号公路, 赵亮-碧海情天同学,再次感谢他们**