常用Linux操作总结

chenchuang 2010-08-04

这里是经常使用的linux命令:

分类信息:

*文件管理

*磁盘管理

*权限管理

*其他操作

*未整理内容

一般而言,超级用户(root)的命令提示符号是'#',一般用户的命令提示符号是'$'.

*文件管理

======================

*创建名字为1的目录:

$mkdir1

*创建名字为1的文件:

$touch1

*删除名字为1的文件:

$rm1

*查看文件1的内容:

$cat1

*删除一个空目录dirname:

$rmdirdirname

这里,dirname必须是空的。

*删除一个目录:

$rm-rdirname

这里,rm-rdirname是递归删除的意思,如果加上-i选项,表示删除之前提示是否删除。

*强制删除目录dirname:

$rm-fdirname

*重命名/移动文件:

$mv./origin./newname

这里,Linux中没有专门的重命名命令,这里实际是使用了移动命令来进行的。原来的文件名origin,新文件名newname.

*把文件file1拷贝一份到file2

$cpfile1file2

这里,操作都是在当前目录下面进行的,如果拷贝到别的目录,可以指定路径,例如cpfile1/anotherdir/file2.

*把目录dir1考到另一个地方为dir2:

$cp-rdir1dir2

这里,-r表示递归拷贝所有子目录。

*进入到一个目录中:

$cddirname

*查看目录dirname中所包含的文件:

$lsdirname

*查看目录dirname中所包含的文件的详细信息:

$ls-l

这样,会显示相应文件的详细信息,包括属主,大小,权限等信息。

*查看当前的目录:

$pwd

这样,会输出当前所在目录的路径。

*创建文件file的硬链接:

$lnfilelnfile

这里,使用链接的目录格式类似cp。建立硬链接之后,如果删除源,还可以通过这个硬链接访问到这个文件的内容,除非所有的硬链接都被删除了,否则文件内容就一直存在的。硬链接不能够跨越文件系统,不能够建立目录的硬链接。

*创建文件file的软链接:

ln-sfilelnfile

这里,创建软链接,文件名里面有'$'就用了转义'\$'表示'$',尽量用绝对路径防止出错。软链接可以跨越文件系统,可以为目录创建软链接,但是软链接的文件,如果删除源,链接会失效,类似windows中的快捷方式。

*权限管理

======================

*修改文件的权限为所有人可读可写可执行:

$chmod777filename

这里,文件属主必须是当前用户,否则就只能进入超级用户才能执行这个命令了。

*修改文件filename的权限,为other用户添加写权限:

$chmodo+wfilename

*修改目录以及所有子目录的权限为777:

$chmod777-Rdir

*查看在线登陆用户:

$who

*将一个用户添加到用户组中:

#usermod-a-GgroupAuser

这里,不要忘记-a选项。如果用:"usermod-GgroupA",这做会使user用户离开其他用户组,仅仅做为这个用户组groupA的成员。

*更改用户user的组为groupA

#usermod-GgroupAuser

*查看所有的用户:

$cat/etc/passwd

这里,用户都保存在了passwd文件中,所以查看这个文件的内容就可以看到所有的用户了。

成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下:

〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕

其中个字段被冒号“:”分成7各部分。

由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。

*查看所有的组:

$catetc/group

*查看所有的组:

$catetc/group

这里,用户都保存在了group文件中,所以查看这个文件的内容就可以看到所有的用户了。

*添加一个用户testusr:

#useraddtestusr

这里,注意在超级用户模式才能用,刚建立没有密码,没有自己的home,其他选项可以参见man

*添加一个用户testusr,并自动建立其用户主目录:

#useradd-mtestusr

运行完毕,自动生成用户的家目录,目录里面有.bashrc等文件。

*删除一个用户testusr:

#userdeltestusr

这里,命令不会把主目录删除.

*删除一个用户testusr,连同主目录和邮箱缓存等:

#userdel-rtestusr

*切换到用户testusr:

$sutestusr

如果用户需要密码,那么需要输入密码才能登录这个用户。

*切换到超级用户:

$su

这样,会提示输入超级用户的密码,输入之后,就会切换成超级用户了。

*以超级用户身份运行一个程序:

$sudoapp

这样,会以超级用户身份运行app程序,如果当前权限不够的时候,这条命令是很有用的。当然,运行之前需要输入自己的密码。还有如sudosu也是类似的。

*设置更改一个用户testusr的密码:

#passwdtestusr

这里,需要在超级用户下,输入之后,按照提示输入旧密码和新密码就行了。如果运行的passwd没有参数,那么会修改当前用户的密码。更改自己的密码只需输入passwd不用切换到超级用户下。

*修改用户testusr的主目录和登录的shell:

#usermod-d/home/quietheart-s/bin/bashtestusr

这里,用户名testusr的主目录路径设置在/home/testusr,登陆的Shell设置为/usr/bin/gcc(-d更新使用者新的登陆目录,-s指定新用户Shell),空格有无均可.

*修改用户testusr名称为test:

#usermod-ltesttestusr

把用户名testusr改成test(-l变更用户登陆时的名称,手册说同时使用者目录名也会跟着更动成新的名称(实践了没变目录呀))usermod不允许改变正在线上的使用者帐号名称.

*查看当前用户属于的组:

$groups

*查看testusr用户属于的组:

$groupstestusr

*磁盘管理

======================

*查看当前目录大小:

$du-sh

*查看文件的大小:

$du-shfilename

这里,filename是将要查看的文件名称。

*查看分区信息:

fdisk-l

这里,会显示你的电脑上面的所有磁盘的信息,例如分区,文件系统等。当前必须是root用户,否则没有权限。

**挂载磁盘相关:

你的linux系统必须将其他硬盘的其他分区(例如windows分区)挂载到根目录树中,才能访问相应的分区。

*挂载分区/dev/sda7到/mnt/win:

#mount-tvfat/dev/sda7/mnt/win

这样的挂载有可能会出现显示中文的时候有乱码,因为可能没有指定解码的字符集。必须是超级用户才能执行。

*指定gb2312字符集的挂载:

#mount-tvfat-oiocharset=gb2312/dev/sda7/mnt/win

这样的挂载的时候,指定使用gb2312字符集,这样就可能没有乱码了。其他常用的字符包括cp936,utf8等等(ntfs的一般用utf8挂载)。必须是超级用户才能执行。

*查看已经挂载的分区:

#mount

*卸载已经挂载的分区:

#umount/mnt/win

或#umount/dev/sda7

这里,是把/dev/sda7分区挂载到了/mnt/win上面。

*重新挂载:

#mount-orw,remount/mnt/data

这里,有时候文件系统变为只读了,试试这个命令.

*设置系统启动自动挂载某个分区:

方法之一是:在/etc/fstab中加入如下内容:

/dev/sda8/mnt/winGvfatdefaults,rw,exec,iocharset=utf8,umask=000000

(必须有umask=0000,否则只有root可以写,并且root也不能更改chmod777-R...这是自己尝试出来的)

**

*其他操作

======================

*清屏:

$clear

这样,当前用户的屏幕会被“清理”,并被重新刷新,原来输入的命令和命令的输出都被清理掉了,也可以使用[Ctrl]l来达到相同的效果。

*查看系统的编码:

$locale

输入之后,例如我的机器输出如下:

LANG=zh_CN.UTF-8

LC_CTYPE="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_PAPER="zh_CN.UTF-8"

LC_name="zh_CN.UTF-8"

LC_ADDRESS="zh_CN.UTF-8"

LC_TELEPHONE="zh_CN.UTF-8"

LC_MEASUREMENT="zh_CN.UTF-8"

LC_IDENTIFICATION="zh_CN.UTF-8"

LC_ALL=

*启动xwindow图形界面:

$startx

这个命令是在纯粹的命令行下面运行的命令。

*切换到第一个纯命令行终端:

输入:[Ctrl][Alt][F1]

这样,如果在图形界面中运行这个命令,会切换到第一个命令终端上面。可以是[F1]~[F7]等。

*切换到图形界面:

输入:[Ctrl][Alt][F7]

这样,如果在命令行终端,那么会切换到图形终端上面,有的是[F7]有的是[F8]等等,都不一定,一般是[F7]。

*退出图形界面:

两种方法,

方法1)注销(不会umount)

方法2)输入:[Ctrl][Alt][Backspace]

退出图形界面之后,不会umount之前mount过的分区。

*查看内核版本号:

$uname-r

这里,如果输入uname-a会显示所有的内核信息。

*查看发行的Linux版本号:

$cat/etc/issue

*搜索最近匹配的历史命令

使用如下步骤进行:

1)输入[Ctrl]r

2)输入以前输入的命令的子字符串

3)根据2)的输入会自动匹配最近的命令。

如果匹配了一个,但是我们需要的命令是更早的,那么再输入一下[Ctrl]r。

4)输入回车,运行匹配的命令。

*在当前目录中寻找指定的文件:

$find-namefilename

这样,会在当前目录下递归地寻找名称为filename的文件,并且返回它的位置,这里支持通配符号。

*在指定的目录中寻找指定的文件:

$finddirname-namefilename

这样,会在dirname中递归地寻找名称为filename的文件。

*在文件中查找字符串:

$grep'string'filename

这样会在文件filename中查找指定的字符串'string'并且返回那个字符串的位置。

*在当前目录中所有文件中查找指定的字符串:

$grep-r'string'*

这里,使用了通配符号。

*查看当前时间:

$date

**GNome桌面下面的操作:

*切换桌面工作区域:

输入:[Ctrl][Alt]<左右方向键>

*锁屏幕:

输入:[Ctrl][Alt]l

*切换不同任务窗口的快捷键:

输入:[Alt][Tab]

*在桌面和上次的程序之间进行切换:

输入:[Ctrl][Alt]d

**

**任务的前台和后台控制:

假设我们运行了多个vi编辑器,以及其他程序(无论前台还是后台,实际上只有一个前台的程序):

*将当前的程序放到后台停止:

输入:[Ctrl]z.

*查看所有在后台运行的程序:

$jobs.

输入之后,输出如下:

[1]-Stoppedvi

[2]+Stoppedvilex

这里,使用前面的数字来标记每一个后台运行的程序。

*将后台停止的指定程序变成后台运行:

$bg%1

这样会把第一个后台的作业调到后台运行,实际上,用bg1就行了。

这样做之后,效果相当于运行了"app&",其中app是运行的程序,&表示放在后台。

*将指定的后台运行的作业号放到前台运行:

$fg%1

这样会把第一个后台的作业调到前台运行,实际上,用fg1就行了。

*将最近的被停止的程序放到前台运行:

$fg

*杀掉指定的后台运行的程序:

$kill%1

这样,会在后台运行的作业%1给杀掉。注意:这里的作业号用%来进行标记,而不像进程直接用数字了。

**

*未整理内容

======================

最基本的文件编辑操作:

这里提供了使用vi编辑文件的最基本的操作,能够实现大多数的编辑目的。如果你肯花几分钟把“最基本的使用”的内容都实践一下,那么你至少可以独立地在vim中朝你想要得方向“前进”了。如果你不想学习,那么就把它当作一个“字典”吧。

*用vi打开一个文件:

输入“vifilename”.

这里,filename就是你要打开的文件的名字,默认打开文件后vi处于指令模式。

*进入编辑模式编辑打开的文件:

输入“i”.

或输入“a”.

进入编辑模式后,你可以直接敲入想要输入的字符到文件,两者的区别是i在当前字符前面开始插入,a在当前字符后面开始插入。

*退出编辑模式:

输入“[Esc]”.

这样,将返回指令模式,准备接收你要传达给vi的指令并执行,如果之前已经在指令模式下,那么系统将响铃提醒一下。

**以下命令都是在命令模式下进行:

*撤销修改:

输入“u”.

这里,相比以前的vi来说,vim支持多步撤销。

*恢复修改:

输入“[Ctrl]r”.

这里,和撤销命令相反,是撤销的撤销,也可多步。

*复制行到剪切板:

输入“yy”.

*复制选定内容到剪切板:

(1)输入“v”。

(2)按方向键将高亮选择的内容。

(3)输入“y”。

这里,开始输入v使vi临时进入了一个"选择模式",输入方向键可以选择,输入y将选择的内容复制剪切板。

*删除行:

输入“dd”.

注意,vi的删除等价于剪切,删除的内容会保存到剪切板中。

*删除选定内容:

(1)输入“v”。

(2)按方向键将高亮选择的内容。

(3)输入“d”。

这里,开始输入v使vi临时进入了一个“选择模式”,输入方向键可以选择,输入d将选择的内容删除。

*粘贴:

输入“p”.

这样会将剪切板的内容粘贴到光标位置或者光标下一行。

*查找字符并定位到第一个匹配处:

输入“/character”.

这里character是待查找的字符,只要先输入/,再输入待查字符,最后回车即可定位到第一个匹配的字符处。

*定位到匹配查找的下一个字符处:

输入“n”.

*定位到匹配查找的上一个字符处:

输入“N”.

*保存文件:

输入“:w”.

注意w前面的':',输入':'之后,vim会将':'之后的输入解释为待执行的指令。

*退出:

输入“:q”.

这里,如果文件没有保存,将提示无法退出,除非你强制退出,不保存文件,或者保存退出。

*强制退出:

输入“:q!”.

*保存退出:

输入“:wq”.

或输入“ZZ”.

*察看帮助

输入":help".

**

相关推荐