红联Linux门户
Linux帮助

Linux的常用命令和基本操作

发布时间:2014-12-18 09:31:29来源:linux网站作者:evolution

Linux的基本思想:
1.一切皆文件。
2.由短小切目的单一的程序组成。
3.组合小程序完成大任务。
4.尽可能少的和用户交互。
5.以文本文件的形式保存所有软件的配置信息。

Shell:

Shell是指提供使用者使用界面,将用户的命令转换成二进制的形式交给应用软件。

Shell的分类:图形界面shell(Graphical User Interface shell 即 GUI shell);
命令行式shell(Command Line Interface shell 即CLI shell)。

UINX中shell的种类主要包括:sh,ksh和 bash。
Linux的基本命令和操作:

Linux国际化(linux internationalization,即“i18n”)

[root@www.inuxidc.com ~]# cat /etc/sysconfig/i18n

LANG="en_US.UTF-8"

SYSFONT="latarcyrheb-sun16"

通过修改LANG="en_US.UTF-8"来改变linux的语言环境。

Locale 显示当前语言名字和值:

[root@www ~]# locale

LANG=en_US.UTF-8

LC_CTYPE="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_PAPER="en_US.UTF-8"

LC_NAME="en_US.UTF-8"

LC_ADDRESS="en_US.UTF-8"

LC_TELEPHONE="en_US.UTF-8"

LC_MEASUREMENT="en_US.UTF-8"

LC_IDENTIFICATION="en_US.UTF-8"

LC_ALL=

显示所有系统所支持的语言包:

[root@www ~]# locale –a

登出:

[root@www ~]# logout

每个linux可以提供多套终端,由Ctrl + Alt + Fn进行切换;其中1~6为命令行界面,7为图形化界面。

未启动图形化界面时启动方法:

[root@www ~]# startx &

若要启动更多:

[root@www ~]# startx -- :1

在命令行界面上下翻屏:Shift + PgUp / PgDn

 
在命令行界面中复制/粘贴快捷键:Ctrl + Shift + c复制;Ctrl + Shift + v 粘贴。

更改开进默认进入界面:

[root@www ~]# vim /etc/inittab

id:3:initdefault: 默认进入文字界面

id:5:initdefault: 默认进入图形界面

用户密码修改:

[root@www ~]# passwd 用于修改root密码 修改时需要提供旧密码

[root@www ~]# passwd + user 用于修改指定用户密码 以root身份修改时 无需提供旧密码


切换用户SwitchUser:

[root@www ~]# su student  su后不跟任何选项直接跟用户 不完全切换

[student@www root]$

[root@www ~]# su -l student  su后跟 –l 或 – 再加用户  完全切换

[student@www ~]$

查看此前所有执行过的指令:

eg:

[root@www ~]# history

1  mount /dev/cdrom /mnt

2  cd /mnt

3  ls

4  reboot

5  ls /mnt

6  mount /dev/cdrom /mnt

7  ls /mnt

8  rpm -ivh /mnt/VMwareTools-6.0.2-59824.i386.rpm

9  cd ..

10  wm

11  cd ..

12  umount /dev/mount

↑ ↓ 对近期执行过的指令进行切换。

[root@www ~]# !+ num  表示第num条命令;

[root@www ~]# !+ string 表示离现在最近与string想匹配的命令;

[root@www ~]# !!        表示执行上一条指令;


引用上一条指令中的参数(即命令作用对象):

eg:

[root@www ~]# cat /etc/sysconfig/i18n

若此时仍想对/etc/sysconfig/i18n进行vim编辑即可输入

[root@www ~]# vim !$

[root@www ~]#vim 按住Alt +  .

[root@www ~]#vim 短按Esc+  .


通过环境变量HISTCONTROL设置history的记录规则:

[root@www ~]#export HISTCONTROL=ignorespace 以空格开头的命令在history中不予记录;

[root@www ~]#export HISTCONTROL=ignoredups 在history中出现过两次以上的命令只记录一次;

[root@www ~]#export HISTCONTROL=ignoreboth 空格不予记录且命令只记录一次;

撤销HISTCONTROL:

[root@www ~]#export HISTCONTROL=

[root@www ~]#unset HISTCONTROL

清空history记录:

[root@www ~]#history –c

文本编辑器nano:

[root@www ~]#nano+文件名 打开文本文档或创建一个文本文档

可根据nano内组合键提示 完成文本的读取、编辑和存储。


显示文件信息ls (list):

[root@www ~]#ls + 选项 +文件路径

-l 显示详细信息;

-a显示所有文件(包括隐藏文件);

-d显示文件的自身属性,而不是该目录中的文件;

-r倒序排列;

-R递归显示:显示目的目录下的文档以及其子文档。

[root@www ~]#tree +文件路径

可以显示目的文档的文件结构。详见下例


创建目录:

[root@www ~]#mkdir + 选项 +创建文档的路径

-p同时生成目的目录及其父目录

-v创建时显示过程

eg:

[root@www ~]# mkdir -pv a/b/c

mkdir: created directory `a'

mkdir: created directory `a/b'

mkdir: created directory `a/b/c'

[root@www ~]# tree a

a

`-- b

`-- c


2 directories, 0 files

删除目录:

[root@www ~]#rmdir

只能删除空目录。

移动文件:

[root@www ~]#mv 源文件 目的路径

eg:

x向相对路径下的./a/y移动 x为目录 y为非目录文件 提示不能覆盖

[root@www a]# touch y

[root@www ~]# mkdir x

[root@www ~]# mv x ./a/y

mv: cannot overwrite non-directory `./a/y' with directory `x'

mv基本可以这么总结:

文件→目录 进入该目录下

目录→目录 进如该目录下

文件→文件 提示是否覆盖 (root默认mv=mv –v,mv –f 即可不提示覆盖信息)

目录→文件 系统报错


文件复制:

[root@www ~]#cp +选项+参数

-p连同档案的属性一起复制到新目录下

-r,-R递归复制 recursive 复制连带子目录中内容

-i覆盖提示

-a =-prd

cp的基本总结如下:(文件目录不能直接cp)

目录→目录 进如该目录下

文件→文件 提示是否覆盖 (cp: overwrite `xxxx'?,root默认cp=cp –v,cp –f 即可不提示覆盖信息)

文件→目录 报错(xxxx : Not a directory)

目录→文件 报错(cp: cannot overwrite non-directory `c' with directory `a')

[root@www ~]#mv a b c d

指将abc 3个文件 移动至d目录下(注意此时d一定需是目录,否则报错)

[root@www ~]#mv a b

相同路径下使用mv命令,视为重命名文件。


查看文件的三个时间属性:

[root@www ~]# stat a

File: `a'

Size: 4096             Blocks: 16         IO Block: 4096   directory

Device: fd00h/64768d    Inode: 1110922     Links: 3

Access: (0755/drwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Access: 2011-07-18 21:53:12.000000000 +0800

Modify: 2011-07-18 21:49:46.000000000 +0800

Change: 2011-07-18 21:49:46.000000000 +0800

Atime:最后一次的访问时间;

Mtime:最后一次的内容修改时间;

Ctime:最后一次的属性变化时间。(权限等属性变化,且基本atime mtime变换 都会导致ctime变化)

 

修改文件的Mtime和Atime:

[root@www ~]# touch + 选项+ 文件名

-a 将当前系统时间设置为atime;

-m 将当前系统时间设置为mtime

-t + 时间[CC]YY]MMDDhhmm[.ss] 使用自定义时间同时修改atime+mtime


文件的删除:

[root@www ~]#rm +选项+文件

-i删除前询问(root用户默认rm=rm –i)

-r,-R 递归删除recursive 删除目录下的所有内容

-f 强行删除force 删除前不在询问

eg:

[root@www ~]#rm –rf /  输此命令有惊喜!


改变目录ChangeDirectory:

[root@www ~]#cd

[root@www ~]#cd ~ 以上两条都是直接回到家目录

[root@www ~]#cd ..回到上一级

[root@www ~]#cd – 后退,类似电视遥控器的“返回”

eg:

[root@www ~]# cd -

/etc/sysconfig                   回到之前的目录

[root@www sysconfig]# cd -

/root                          又重新回到家目录

[root@www ~]# cd -

/etc/sysconfig                   再次回到之前的目录


显示当前目录:

[root@www sysconfig]# pwd

/etc/sysconfig


常见的一级目录和功能:
 

/bin

bin即binary,指可直接执行的二进制文件。 在/bin底下的指令可以被root与一般账号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。

/boot

这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。 Linux kernel常用的档名为:vmlinuz,如果使用的是grub这个开机管理程序,则还会存在/boot/grub/这个目录。

/dev

在Linux系统上,任何装置与接口设备都是以档案的型态存在于这个目录当中的。你只要透过存取这个目录底下的某个档案,就等于存取某个装置。

/etc

系统主要的设定文件几乎都放置在这个目录内,例如人员的账号密码文件、 各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的, 但是只有root有权力修改。

/home

这是系统预设的使用者家目录(home directory)。在你新增一个一般使用者账号时,预设的使用者家目录都会规范到这里来。

/lib

系统的库文件,而/lib放置的则是在开机时会用到的库文件,以及在/bin或/sbin底下的指令会调用库文件,而库文件不能直接被执行。

/media

/mnt

软盘、光盘、DVD等等装置都暂时挂载于此,常见的档名有:/media/floppy, /media/cdrom等等。如果想要暂时挂载某些额外的装置,可以放置到这个目录中。这个目录的用途与/media相同只是有了/media之后,这个目录就用来暂时挂载用了。

/usr

第三方软件安装完成后的帮助信息等。

/opt

这个是给第三方软件安装时放置的目录。eg:Oracle等

/root

系统管理员(root)的家目录。

/sbin

这些指令只有root才能够调用执行的指令,其它使用者最多只能用来『查询』而已。 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。

/srv

srv可以视为service的缩写,是一些网络服务启动之后,这些服务所需要存取用的数据目录。

/tmp

这是让一般使用者或者是正在执行的程序暂时放置档案的地方。

/proc

伪目录,在内核中正在执行的程序所生成的文件。

/sys

有系统产生,内核中硬件信息的映射,常用于系统调优。

/var

经常变化的文档,用户的邮件队列、打印队列的文件。