日期:2014-05-16  浏览次数:20586 次

常用Linux操作总结
这里是经常使用的linux命令:
分类信息:
*文件管理
*磁盘管理
*权限管理
*其他操作
*未整理内容

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

*文件管理
======================
*创建名字为1的目录:
$mkdir 1

*创建名字为1的文件:
$touch 1

*删除名字为1的文件:
$rm 1

*查看文件1的内容:
$cat 1

*删除一个空目录dirname:
$rmdir dirname
这里,dirname必须是空的。

*删除一个目录:
$rm -r dirname
这里,rm -r dirname是递归删除的意思,如果加上-i选项,表示删除之前提示是否删除。

*强制删除目录dirname:
$rm -f dirname

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

*把文件file1拷贝一份到file2
$cp file1 file2
这里,操作都是在当前目录下面进行的,如果拷贝到别的目录,可以指定路径,例如cp file1 /anotherdir/file2.

*把目录dir1考到另一个地方为dir2:
$cp -r dir1 dir2
这里,-r表示递归拷贝所有子目录。

*进入到一个目录中:
$cd dirname

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

*查看目录dirname中所包含的文件的详细信息:
$ls -l
这样,会显示相应文件的详细信息,包括属主,大小,权限等信息。

*查看当前的目录:
$pwd
这样,会输出当前所在目录的路径。

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

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

*权限管理
======================
*修改文件的权限为所有人可读可写可执行:
$chmod 777 filename
这里,文件属主必须是当前用户,否则就只能进入超级用户才能执行这个命令了。

*修改文件filename的权限,为other用户添加写权限:
$chmod o+w filename

*修改目录以及所有子目录的权限为777:
$chmod 777 -R dir

*查看在线登陆用户:
$who

*将一个用户添加到用户组中:
#usermod -a -G groupA user
这里,不要忘记-a选项。如果用:"usermod -G groupA",这做会使user用户离开其他用户组,仅仅做为这个用户组 groupA 的成员。

*更改用户user的组为groupA
#usermod -G groupA user

*查看所有的用户:
$cat /etc/passwd
这里,用户都保存在了passwd文件中,所以查看这个文件的内容就可以看到所有的用户了。
成功创建一个新用户以后,在/etc/passwd文件中就会增加一行该用户的信息,其格式如下:
〔用户名〕:〔密码〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目录〕:〔登陆Shell〕
其中个字段被冒号“:”分成7各部分。
由于小于500的UID和GID一般都是系统自己保留,不用做普通用户和组的标志,所以新增加的用户和组一般都是UID和GID大于500的。

*查看所有的组:
$cat etc/group

*查看所有的组:
$cat etc/group
这里,用户都保存在了group文件中,所以查看这个文件的内容就可以看到所有的用户了。

*添加一个用户testusr:
#useradd testusr
这里,注意在超级用户模式才能用,刚建立没有密码,没有自己的home,其他选项可以参见man

*添加一个用户testusr,并自动建立其用户主目录:
#useradd -m testusr
运行完毕,自动生成用户的家目录,目录里面有.bashrc等文件。

*删除一个用户testusr:
#userdel testusr
这里,命令不会把主目录删除.

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

*切换到用户testusr:
$su testusr
如果用户需要密码,那么需要输入密码才能登录这个用户。

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

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

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

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

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

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

*查看testusr用户属于的组:
$groups testusr


*磁盘管理
======================
*查看当前目录大小:
$du -sh

*查看文件的大小:
$du -sh filename
这里,filename是将要查看的文件名称。

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

**挂载磁盘相关:
你的linux系统必须将其他硬盘的其他分区(例如windows分区)挂载到根目录树中,才能访问相应的分区。
*挂载分区/dev/sda7到/mnt/win:
#mount -t vfat /dev/sda7 /mnt/win
这样的挂载有可能会出现显示中文的时候有乱码,因为可能没有指定解码的字符集。必须是超级用户才能执行。

*指定gb2312字符集的挂载:
#mount -t