Chinaunix首页 | 论坛 | 博客
  • 博客访问: 367012
  • 博文数量: 44
  • 博客积分: 695
  • 博客等级: 上士
  • 技术积分: 443
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-26 16:23
文章分类

全部博文(44)

文章存档

2013年(6)

2011年(38)

分类: LINUX

2011-01-26 16:55:37

模式切换
1、 由字符到图型#startx或#init 5   
2、 由图形到字符#logout或init 3   
3、 注销#logout或exit或ctrl+d   
4、 关机#poweroff或init 0或shutdown now或 halt -p   
5、 重启#reboot或init 6或shutdown -r now
 
 
获得帮助
 #help提供内部命令的帮助#man或info提供外部命令的帮助。 如果你的英文足够好,那完全可以不靠任何人就精通linux,只要你会用man。Man实际上就是察看指令用法的help,学习任何一种UNIX类的操作系统最重要的就是学会使用man这个辅助命令。man是manual(手册)的缩写字,它的说明非常的详细,但是因为它都是英文,看起来非常的头痛。建议大家需要的时候再去看man,平常吗,记得一些基本用法就可以了。
 
ls
 ls [list]   这个命令就相当于dos下的dir命令一样,这也是Linux控制台命令中最为重要几个命令之一。ls最常用的参数有三个: -a -l -F。   
 ls -a
  Linux上的文件以“.”开头的文件被系统视为隐藏文件,仅用ls命令是看不到他们的,而用ls -a除了显示 一般文件名外,连隐藏文件也会显示出来。
 ls -l(这个参数是字母L的小写,不是数字1)
  这个命令可以使用长格式显示文件内容,如果需要察看更详细的文件资料,就要用到ls -l这个指令。例如我在某个目录下键入ls -l可能会显示如下信息(最上面两行是我自己加的):
 位置1 2 3 4 5 6 7
 文件属性 文件数 拥有者 所属者 group 文件大小 建档日期 文件名   
 drwx------ 2 Guest users 1024 Nov 21 21:05 Mail   
 -rwx--x--x 1 root root 89080 Nov 7 22:41 tar*   
 -rwxr-xr-x 1 root bin 5013 Aug 15 9:32 uname*   
 lrwxrwxrwx 1 root root 4 Nov 24 19:30 zcat->gzip   
 -rwxr-xr-x 1 root bin 308364 Nov 29 7:43 zsh*   
 -rwsr-x--- 1 root bin 9853 Aug 15 5:46 su*
 
 下面,我为大家解释一下这些显示内容的意义。
 第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。但是这里有十个格子可以添(具体程序实现时,实际上是十个bit位)。第一个小格是特殊表示格,表示目录或连结文件等等,d表示目录,例如drwx------;l表示连结文件,如lrwxrwxrwx;如果是以一横“-”表示,则表示这是文件。其余剩下的格子就以每3格为一个单位。因为Linux是多用户多任务系统,所以一个文件可能同时被许多人使用,所以我们一定要设好每个文件的权限,其文件的权限位置排列顺序是(以-rwxr-xr-x为例):
 rwx(Owner)r-x(Group)r-x(Other)
 
 这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。另外,有一些程序属性的执行部分不是X,而是S,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。一般出现在系统管理之类的指令或程序,让使用者执行时,拥有root身份。
 
 第二个栏位,表示文件个数。如果是文件的话,那这个数目自然是1了,如果是目录的话,那它的数目就是该目录中的文件个数了。
 第三个栏位,表示该文件或目录的拥有者。若使用者目前处于自己的Home,那这一栏大概都是它的账号名称。
 第四个栏位,表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组。
 第五栏位,表示文件大小。文件大小用byte来表示,而空目录一般都是1024byte,你当然可以用其它参数使文件显示的单位不同,如使用ls –k就是用kb来显示一个文件的大小单位,不过一般我们还是以byte为主。
 第六个栏位,表示创建日期。以“月,日,时间”的格式表示,如Aug 15 5:46表示8月15日早上5:46分。 第七个栏位,表示文件名。我们可以用ls –a显示隐藏的文件名。   
 ls –F(注意,是大写的F)
 使用这个参数表示在文件的后面多添加表示文件类型的符号,例如*表示可执行,/表示目录,@表示连结文件,这都是因为使用了-F这个参数。但是现在基本上所有的Linux发行版本的ls都已经内建了-F参数,也就是说,不用输入这个参数,我们也能看到各种分辨符号。
cd
 cd [change directory] 这个命令是用来进出目录的,它的使用方法和在dos下没什么两样,所以我觉得没什么可说的,但有两点我补充一下。首先,和dos不同的是Linux的目录对大小写是敏感的,如果大小写没拼对,你的cd操作是成功不了的。其次,cd如果直接输入,cd后面不加任何东西,会回到使用者自己的Home Directory。假设如果是root,那就是回到/root.这个功能同cd ~是一样的。
 
mkdir、rmdir
 mkdir [make directory] rmdir [remove directory] mkdir命令用来建立新的目录,rmdir用来删除已建立的目录,这两个指令的功能不再多加介绍,他们同dos下的md,rd功能和用法都是基本一样的。
 
cp
 cp [copy]
 这个命令相当于dos下面的copy命令,具体用法是:cp –r 源文件(source) 目的文件(target)
 参数r是指连同源文件中的子目录一同拷贝。熟悉dos的读者用起这个命令来会觉得更方便,毕竟比在dos下面要少敲两下键盘。
 
su
 su命令主要用于改变用户身份,其格式如下:
 su [选项] [用户名]
 选项有:
 -:加载相应用户下的环境变量
 -l:使目前的shell成为改变身份后用户默认的shell
 -c:改变身份运行一个指令后就结束
 -m:改变用户身份,但是不改变环境变量
 note:su - 就是加载root的环境变量,如果直接输入su也可以转变为超级用户,但是由于没有加载root的环境变量,因此某些指令可能无法执行,会提示“command not found”
fsck
 这个命令用来检查文件系统并尝试修复错误。格式如下:
 fsck [选项] [-t<文件系统>] [设备名]
 -a:自动修复文件系统,没有任何提示
 -r:采取互动的修复方式,在执行修复时进行询问,让用户得以确认并决定处理方式
 -A:依照/etc/fstab配置文件的内容,检查文件内所列的全部文件系统
 -T:执行fsck指令时,不显示标题信息
 -V:显示fsck指令的执行过程
 -N:不执行指令,仅列出实际执行会进行的动作
 
 -t<文件系统>:是指要检查的文件系统类型
 
 note:在执行fsck命令修复某个文件系统时,这个文件系统对于的磁盘分区一定要处于卸载状态,磁盘分区在挂载状态下进行修复时极其不安全的,数据可能遭到破坏,也有可能损害磁盘。
 
sync
 用来强制把内存中的数据写会硬盘,以免数据丢失。格式如下:
 sync
 
 note:在Linux系统中,修改过的操作会缓存到内存中,不会马上写入硬盘,等待适当的时候再从内存中写入磁盘,这样可以提高系统读写效率。Linux下默认每隔3秒系统自动执行一次sync操作,系统正常关机时也会执行sync操作,保证所有操作全部从内存中写入磁盘。如果非法关机,系统内存信息无法及时同步到硬盘,就会造成数据丢失或者文件损坏,由此可见,Linux系统中正常关机是非常重要的。

rm
 rm [remove] 这个命令是用来删除文件的,和dos下面的rm(删除一个空目录)是有区别的,大家千万要注意。rm命令常用的参数有三个: -i,-r,-f。
 比如我现在要删除一个名字为test的一个文件:rm –i test  系统会询问我们:“rm:remove‘test’?y”,敲了回车以后,这个文件才会真的被删除。之所以要这样做,是因为linux不象dos那样有undelete的命令,或者是可以用pctool等工具将删除过的文件救回来,linux中删除过的文件是救不回来的,所以使用这个参数在删除前让你再确定一遍,是很有必要的。
 
 rm –r 目录名:这个操作可以连同这个目录下面的子目录都删除,功能上和rmdir相似。   
 rm –f 文件名(目录名):这个操作可以进行强制删除。
mv
 mv这个命令的功能是移动目录或文件,引申的功能是给目录或文件重命名。它的用法同dos下面的move基本相同,这里不再多讲。当使用该命令来移动目录时,他会连同该目录下面的子目录也一同移走。如果你想给一个文件或目录重命名时可以用以下方法:
 mv 原文件名(目录) 新的文件名(目录)。
 
df
 df用来检查Linux系统的磁盘空间占用情况。格式如下:
 df [选项]
 -h:以容易理解的格式输出文件系统分区占用情况,如:32KB、120MB、50GB
 -k:以KB大小为单位输出文件系统分区占用情况
 -m:以MB大小为单位输出文件系统分区占用情况
 -a:列出所有文件系统分区,包括0大小的文件系统分区
 -i:列出文件系统分区的inodes信息
 -T:显示磁盘分区的文件系统类型

du
 du命令用来显示文件或目录所占用的磁盘空间情况。格式如下:
 du [选项] 文件或目录
 -s:显示文件或整个目录的大小,单位为KB
 -b:以字节为单位显示文件大小或者目录下所有文件的大小
 -sh:以人性化的格式显示文件或目录大小
 -sm:以MB为单位显示文件或目录大小
 
cat
 cat[concatenate] 这个命令是linux中非常重要的一个命令,它的功能是显示或连结一般的ascii文本文件。cat是concatenate的简写,类似于dos下面的type命令。它的用法如下:
 cat text 显示text这个文件;   
 cat file1 file2 依顺序显示file1,file2的内容;   
 cat file1 file2>file3 把file1,file2的内容结合起来,再“重定向(>)”到file3文件中。 “〉”是一个非常有趣的符号,是往右重定向的意思,就是把左边的结果当成是输入,然后输入到file3这个文件中。这里要注意一点是file3是在重定向以前还未存在的文件,如果file3是已经存在的文件,那么它本身的内容被覆盖,而变成file1+file2的内容。如果〉左边没有文件的名称,而右边有文件名,例如: cat>file1:结果是会“空出一行空白行”,等待你输入文字,输入完毕后再按[Ctrl]+[c]或[Ctrl]+[d],就会结束编辑,并产生file1这个文件,而file1的内容就是你刚刚输入的内容。这个过程和dos里面的copy con file1的结果是一样的。
 另外,如果你使用如下的指令:
 cat file1 >> file2:这将变成将file1的文件内容“附加”到file2的文件后面,而file2的内容依然存在,这种重定向符〉〉比〉常用,可以多多利用。
 
more,less
 这是两个显示一般文本文件的指令。如果一个文本文件太长了超过一个屏幕的画面,用cat来看实在是不理想,就可以试试more和less两个指令。More指令可以使超过一页的文件临时停留在屏幕,等你按任何的一个键以后,才继续显示。而less除了有more的功能以外,还可以用方向键往上或往下的滚动文件,所以你随意浏览,阅读文章时,less是个非常好的选择。
 
pwd
 pwd [print working directory]   
 pwd [--help][--version]   
 说明:执行pwd指令可立刻得知您目前所在的工作目录的绝对路径名称。
 
clear
 这个命令是用来清除屏幕的,它不需要任何参数,和dos下面的cls具有相同的功能,如果你觉得屏幕太紊乱,就可以使用它清除屏幕上的信息。
 
ln
 ln[link]
 这是linux中又一个非常重要命令,请大家一定要熟悉。它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:
 ln 源文件 –s 目标文件。
 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln /bin/less –s /usr/local/bin/less
 -s 是代号(symbolic)的意思。
 这里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接有软链接和硬链接两种,软链接就是ln –s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。
 如果你用ls察看一个目录时,发现有的文件后面有一个@的符号,那就是一个用ln命令生成的文件,用ls –l命令去察看,就可以看到显示的link的路径了。
 
grep
 用于查找文件中符合字符串的那行。
 e.g. grep -nr "network_ssl" ./ [查找当前文件夹下所有文件内容,列出包含有 network_ssl该字串的行,并显示行号]
 参数说明: -a :将 binary 文件以 text 文件的方式搜寻数据   
 -c :计算找到 '搜寻字符串' 的次数   
 -i :忽略大小写的不同,所以大小写视为相同   
 -n :顺便输出行号   
 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
 
find
 $ find . -name "*.txt" -print 用于查找所有的‘ *.txt’文件在当前目录及子目录中;   
 $ find . -name "[A-Z]*" -print 用于当前目录及子目录中查找文件名以一个大写字母开头的文件;   
 $ find /etc -name "host*" -print 在/etc目录中查找文件名以host开头的文件;   
 $find . -name "[a-z][a-z][0--9][0--9].txt" -print 在当前目录查找文件名以两个小写字母开头,跟着是两个数字,最后是.txt的文件;
 
 1、find命令的一般形式为;   
 find pathname -options [-print -exec -ok ...]
 
 2、find命令的参数;
 pathname: find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。   
 -print: find命令将匹配的文件输出到标准输出。   
 -exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。   
 -ok:和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
 
 3、find命令选项
 -name   按照文件名查找文件。   
 -perm   按照文件权限来查找文件。   
 -prune  使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用-depth选项,那么-prune将被find命令忽略。
 -user   按照文件属主来查找文件。   
 -group   按照文件所属的组来查找文件。   
 -mtime -n +n   按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime 选项,但它们都和-m time选项。
 -nogroup   查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。   
 -nouser   查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。   
 -newer file1 ! file2   查找更改时间比文件file1新但比文件file2旧的文件。   
 -type   查找某一类型的文件,诸如:   b - 块设备文件。   d - 目录。   c - 字符设备文件。   p - 管道文件。   l - 符号链接文件。   f - 普通文件。   
 -size n:[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。 -depth:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。 -fstype:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。   
 -mount:在查找文件时不跨越文件系统mount点。  
 -follow:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。 -cpio:对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。   
 另外,下面三个的区别:   
 -amin n   查找系统中最后N分钟访问的文件   
 -atime n   查找系统中最后n*24小时访问的文件   
 -cmin n   查找系统中最后N分钟被改变文件状态的文件   
 -ctime n   查找系统中最后n*24小时被改变文件状态的文件   
 -mmin n   查找系统中最后N分钟被改变文件数据的文件   
 -mtime n   查找系统中最后n*24小时被改变文件数据的文件
 
source
 source  FileName
 
 作用:在当前bash环境下读取并执行FileName中的命令。
 注:该命令通常用命令“.”来替代。如:source .bash_rc 与 . .bash_rc 是等效的
 
 注意:source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令。这样如果把设置环境变量(或alias等等)的命令写进scripts中,就只会影响子shell,无法改变当前的BASH,所以通过文件(命令列)设置环境变量时,要用source 命令。
mount,umount
 mount是Linux下的一个命令,它可以将分区作为Linux的一个“文件”挂接到Linux的一个空文件夹下,从而将分区和/mnt这个目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。目前mount已经不仅仅局限于Linux了,在Windows系统下的应用也越来越广了,多用在虚拟光驱类软件上,比如Clone CD,Daemon tool,WinMount等。
 注意事项   
 1、必须将光盘、U盘等放入驱动器在实施挂载操作   
 2、不能在挂载目录下实施挂载操作,至少在上一级   
 3、不能在同一目录下挂载两个以上的文件系统   
 4、Linux预留挂载目录为/mnt   
 5、不能在挂载目录下实施卸载操作   
 6、挂载目录必须事先存在
 挂载光盘   #mount -t iso9660 /dev/cdrom /mnt/cdrom   
 卸载光盘   #umount /mnt/cdrom或#umount /dev/cdrom或#cd;eject   
 挂载U盘   #mount /dev/sdb1 /mnt/usb   
 挂载iso镜像   #mount -t iso9660 -o loop iso镜像文件 /mnt/cdrom
 
用户和组管理
 #useradd 用户名 //创建用户和组   
 #passwd 用户名 //设置用户密码   
 #groupadd 组名 //创建组   
 #usermod –d 路径 用户名 //修改用户宿主目录   
 #usermod –u uid 用户名 //修改用户的UID   
 #usermod -s /bin/[csh] 用户名 //修改用户启动shell   
 #usermod -G 组名 用户名 //将用户加入组, 创建私有组   
 #usermod -g 组名 用户名 //用户加入组但不创建私有组   
 #gpasswd -a 用户名 组名 //同-G   
 #gpasswd -d 用户名 组名 //将用户从组中删除   
 #gpasswd -A 用户名 组名 //指定用户成为组的管理员   
 #usermod -L 用户名 //锁定用户#passwd -l 用户名 //同上   
 #usermod -U 用户名 //解锁用户#passwd -u 用户名 //同上   
 #usermod -l 新名 原名 //重命名用户   
 #groupmod -n 新名 原名 //重命名组   
 #userdel 用户名 //删除用户#userdel –r 用户名 //彻底删除,包括用户的宿主目录   
 #groupdel 组名 //删除组   
 #passwd -d 用户名 /删除用户密码/
 
进程及服务管理
 查看进程   
  #ps -aux //查看所有进程(静态)   
  #top //查看动态变化的进程   
  #pstree //查看进程树
 
 将进程放在后台运行
  #命令 &
 
 查看后台运行的进程   
  #jobs
 将后台运行的进程调入前台   
  #fg 编号
 强制结束进程   
  #kill -9 PID 或#killall -9 进程名
  
 init进程是所有进程的父进程其级别如下
   0 关机   
  1 单用户   
  2 多用户字符,但是不支持NFS   
  3 完全多用户字符   
  4 用户自定义   
  5 图形   
  6 重启
 
 查看服务启动情况(独立启动方式)   
  #chkconfig --list //查看所有服务的启动状态   
  #chkconfig --list httpd
  
 设置独立启动服务   
  #chkconfig --level 35 httpd on或off
 
 设置非独立启动服务   
  #chkconfig telnet on或off#service xinetd restart   
 
 设置服务在开机时自动运行   
  #ntsysv
  
网卡设置
 1、 设置ip地址(即时生效,重启失效)   
  #ifconfig eth0 ip地址 netmask 子网掩码   
 2、 设置ip地址(重启生效,永久生效)   
  #setup
 3、 通过配置文件设置ip地址(重启生效,永久生效)   
  #vi /etc/sysconfig/network-scripts/ifcfg-eth0
  DEVICE=eth0 #设备名,与文件同名。   
  ONBOOT=yes #在系统启动时,启动本设备。   
  BOOTPROTO=static   
  IPADDR=202.118.75.91 #此网卡的IP地址   
  NETMASK=255.255.255.0 #子网掩码   
  GATEWAY=202.118.75.1 #网关IP   
  MACADDR=00:02:2D:2E:8C:A8 #mac地址
 4、 重启网络服务   
  #service network restart //重启所有网卡
 5、 禁用网卡,启动网卡   
  #ifdown eth0   
  #ifup eth0   
 6、 屏蔽网卡,显示网卡   
  #ifconfig eth0 down   
  #ifconfig eth0 up   
 7、 配置DNS客户端(最多三个)   
  #vi /etc/resolv.conf   
  nameserver 202.99.96.68   
 8、更改主机名(即时生效)   
  #hostname 主机名   
 9、更改主机名(重启计算机生效,永久生效)   
  #vi /etc/sysconfig/network   
  HOSTNAME=主机名
  
Web服务(httpd)
 同样在setup中选中httpd服务。www服务不需要xinetd作为它的代理进程。httpd这个进程一直在系统中运行。www服务的默认目录是/var/www/html。只要把主页放到这个目录下就可以访问了。 我们可以用建立ftp管理员的办法建立一个www管理员wwwAdmin。只要把它的登陆目录设为/var/www/html即可。
 /etc/init.d/httpd start #启动服务   
 /etc/init.d/httpd restart #重新启动   
 其配置文件为/etc/httpd/conf/httpd.conf

uname
 这个命令用来显示操作系统相关信息。格式如下:
 uname [选项]
 -a:显示操作系统全部信息
 -m:显示系统CPU类型
 -n:显示操作系统主机名
 -s:显示操作系统类型
 -r:显示操作系统内核版本

查看Linux内核版本信息
 查看内核版本命令:
  (1) cat /proc/version
  (2) uname -a
  (3) uname -r

 查看Linux版本:
  1) cat /etc/lsb-release

  2) cat /etc/issue 
阅读(1197) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~