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 |
经常变化的文档,用户的邮件队列、打印队列的文件。 |