如你打算从Windows转到linux,或许你已经转到了linux平台。哟哟哟!!!
我说的什么?是什么原因你来到这里,从我是一个新手时的过去的一些体验,命令和终端让我很恐惧害怕,那些命令让我非常,我得记住多少那些的命令,记住他们来帮助我来运用linux全部的功能.毫无疑问,在线文档,书,手册,用户社区,给我很多的帮助,但是,我非常相信,这有这么一篇详细命令的文章,非常容易学习,语言描述很好理解,这篇文章帮我掌握linux以及很容易的使用它,我的这文章就是一步一步向那个目标前进.
- Command: ls
"ls"命令是(List Directory Contents)的意思,运行它以列表的形式显示目录中的内容,或者是文件或者是目录.
root@tecmint:~# ls
Android-Games Music
Pictures Public
Desktop Tecmint.com
Documents TecMint-Sync
Downloads Templates
"ls -l"命令列表显示目录的属性内容,长列表的形式.
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
Command “ls -a“, list the content of folder, including hidden files starting with ‘.’.
"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
Note: In Linux file name starting with ‘.‘ is hidden.
提示:linux中以"."开头的文件名都是隐藏的
In Linux every file/folder/device/command is a file.
在linux中所有的 文件/目录/设备/命令 都是一个文件
The output of ls -l is:
ls -l 输出:
d (代表目录).
rwxr-xr-x is 是当前的文件/目录 相对 当前用户,组,全局,所开放的权限.
The 1st 第一个参数的意思是 "ravisaive"当前用户
The 2nd 从上面的示例来看的话,每二个参数 "ravisaive"是个用户组.
4096 意思是文个把的大小是4096字节
May 8 01:06 意思是最后的修修的日期时间.
最后的就是文件名和目录名.
For more “ls” command examples read 15 ‘ls’ Command Examples in Linux.
更多的"ls"命令示例,请阅读,在linux中的15条"ls"命令实例.
- lsblk 命令
"lsblk"代表((List Block Devices)
以标准的目录树的形式来输入,每个设备块的名字.
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 rom
“lsblk -l” 命令列表结构列表设备块, (不在是目录树的形式)
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 rom
提示:"lsblk" 使用这个命令能非常容易方便,让你能知道你新接入的USB新设备,尤其是你想在终端中卸载哪个设备的时候.
3.md5sum 命令
这个md5sum命令的意思是(compute and check MD5 Message Digest),md5 checksum(通常称为 hash),用于匹配和验证文件的完整性,因为文件可能会因为,文件传输的不完整性,磁盘错误,非恶意性的干扰,而发生改变.
root@tecmint:~# md5sum teamviewer_linux.deb
47790ed345a7b7970fc1f2ac50c97002 teamviewer_linux.deb
提示:用户可以用官方提供的与md5sum生成的签名进行匹配,Md5sum 在安全性方面不如 sha1sum ,这个我稍后讨论.
4.dd命令
命令"dd"的意思是(Convert and Copy a file),可以用于转换与复制文件,主要使用它来复制ISO文件(或其它文件)到USB设备(或者其它本地目录),因此可以用来制作USB启动盘.
root@tecmint:~# dd if=/home/user/Downloads/debian.iso of=/dev/sdb1 bs=512M; sync
提示在上面的示例中,这个USB设备假设被映射到了 sdb1(实际中你可以使用命令 lsbk 验证一下,否则会把你的整个硬盘和操作系统都覆盖掉),一定要非常谨慎的使用磁盘的名称.
dd 命令所需要的时间一般在几秒钟到几分钟之间,主要依赖于文件类型大小与USB设备的读写速度.
5.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 输出的
"linux"机器内核的名字
"tecmint"机器名称
"3.8.0-19-generic" 内核发布版本
"#30-Ubuntu SMP" 内核版本
"i686" 处理器架构
"GNU/Linux" 操作系统名称
6.命令"history"
"history" 全称(History(Event)Record) 它会以长列表的形式打印出,你在终端中执行过的命令.
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/unity
提示:按下"Ctrl+R",在你输命令时会自动搜索你之前执行过的命令并帮助你自动补全完成.
(reverse-i-search)`if': ifconfig
7.sudo 命令
sudo(super user do)命令充许授权一个用户去执行超级用户或者其它用户的命令,也可以通过 sudoers list文件中指定策略.
root@tecmint:~# sudo add-apt-repository ppa:tualatrix/ppa
提示:sudo 充许用户云借用超级用户的特权.还有一个相似的命令"su" 它实际是让你用超用户去命陆.sudo 比 su 安全.
“To err is human, but to really foul up everything, you need root password.”
我不建议使用 sudo 或 su 作为日常使用.它能产生严重的后果.如果你不小心做错了一些事情,那就是为什么在linux的社区里流行着这么一句话:
“To err is human, but to really foul up everything, you need root password.”
8.mkdir 命令
mkdir(Make directory)命令用指定的名称路径创建新的目录,假如目录存在的话它会返回一个错误信息"不能创建目录,目录已经存在"
root@tecmint:~# mkdir tecmint
提示:这个目录只有在用户拥有可写权限时目录才能被创建,
"tecmint"目录已经存的话,"mkdir"是不能创建的.
对于上面输出的内容,不要被文件迷惑,你应该记得我开始说过,在linux中所有的文件,目录,驱动,命令,脚本,都是被视为文件。
9.touch命令
这touch 会更新每一个文件的访问,修改的时间为当前的时间,假如文件不存在的话 touch 命令可以创建一个文件,如果文件存在的话,会更新文件时间戳,但不会改变内容。
root@tecmint:~# touch tecmintfile
提示:只有在文件不存在时,用户有写权限,touch可以在当前的目录下创建文件
10.chmod命令
chmod 命令(change file mode bits),chmod 可以根据的你的需要模式要求,来改变每一个文件,目录,脚本,etc等等 这些文件的访问权限。
一个文件有3种权限(目录或者其它,为了方便我们都用文件来比喻)
Read (r)=4
Write(w)=2
Execute(x)=1
因此,如果你只想让一个文件只有读取的限,就给它分配4这个值,假如只想让一个文件有写权限就给它分配2这个值,只想让它有运行的权限就给它分配1这个值. 同时有读与写权限,就是4+2=6,以此类推。
Now permission need to be set for 3 kinds of user and usergroup. The first is owner, then usergroup and finally world.
现在需要给用户与用户组设置3种权限类型,每一种是当前用户,然后是用户组,最后其它。
rwxr-x--x abc.sh
在这root的权限是 rwx(读,写,执行)
usergroup to which it belongs, is r-x (read and execute only, no write permission) and
for world is –x (only execute).
r-x属于用户组的权限(仅只有读与执行权限,没有写权限),其它用户只有执行权限。
改变它的权限,让用户,用户组,其它用户都拥有 读,写,执行权限
root@tecmint:~# chmod 777 abc.sh
三种类型用户都拥有读与写权限
root@tecmint:~# chmod 666 abc.sh
当前用户有读,写,执行权限,用户组与其它用户权只有执行权限
root@tecmint:~# chmod 711 abc.sh
提示:对于系统管理员与用户来说这是最重要有用的命令之一,在多用户的环境中或在服务器上,这个命令可以解救问题,比如,设置了错误的权限,造成文件无法访问,或者要为某人提供不需要验证就能访问某些文件。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。