linux入门命令
linux的目录结构:
这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
?
命令格式:命令 -选项 参数
??????说明:命令区分大小写,且命令和参数之间用空格隔开;
?????????????? 当有多个参数时,参数可以写在一起;
???????????????选项是对命令的特别定义,以'-'开始,多个选项可用一个'-'连起来;如“ls -l -a”与“ls -la”相同;
?
linux文件类型:
??? 一般文件(ordinary file):文本文件;二进制文件??? 目录文件(directory)??? 特殊文件(special file):块设备文件;字符设备文件??? 符号链接文件(symbolic links)?
linux文件命名规则:
??? 最大长度为255字节;??? 大小写敏感(file1和File1表示两个不同的文件);??? 无专用扩展名(unix文件名可出现多个小数点,并无特殊含义)。????? /???????????? 表示根目录????? .?????????????表示当前目录????? ..??????????? 表示当前目录的父目录????? .字符串??? 表示隐含文件,如“.profile”文件????? 绝对路径:是从根开始一级一级的进入各个子目录,最后指定该命令或文件
????? 相对路径:是从当前目录进入某目录,最后指定该命令或文件
???????????*???? :匹配任何字符或任何数目的字符
????????????????:匹配任何单字符
?
目录操作命令:
????? 名称:ls(list)
????? 功能:列出当前目录下的文件和目录?
????? 路径:/usr/bin/ls
???????? ls ????? (显示当前目录下的内容,不包含隐含文件)?????
???????? ls? -a? (显示所有内容,包含隐含文件)
??????? ?ls ?-l? ?(以长格式列出当前目录下所有内容的详细信息)? -rw-r--r-- 1 root root 24477 4月 2 20:35 install.log
????? 依次是:操作权限 链接数目 所有者 用户组 大小 创建时间 名称
????? 操作权限中-rw-r--r--,有十个小格,最前面一个是特殊标记,用来区分目录和链接,其中d表示目录,l表示链接,-表示普通文件。后面的每3个小格是一组,第一组代表文件所有者的权限,第二组代表组用户的权限,第三组代表其他用户的权限。
????? linux是一个多用户、多任务操作系统,同一文件可能同时被很多人使用,因此,一定要为文件设置好相应的权限,这样才能保护好重要的数据。
?
????? 名称:cd (change directory)
????? 功能:切换目录
????? 路径:Shell内部指令
????? cd ?/home/ (切换到/home/目录)
????? cd? dwj/ (切换到当前目录下dwj子目录中)
??????cd? .. (切换到上一级目录)
????? cd? ~ (切换到用户主目录:home)
?
????? 名称:pwd (print work directory)
????? 功能:显示当前工作目录
????? 路径:/usr/bin/pwd
??????由于Linux的树状目录结构非常庞大,用户经常会忘记当前所处的目录。命令提示符一般又只显示最后一级的目录名称,这时pwd能帮上你的大忙。??
?
????? 名称:mkdir (make directory)
????? 功能:创建目录?????
????? mkdir? student ?(创建student子目录)
?
????? 名称:rmdir (remove directory)
????? 功能:删除目录,但要求该目录中不包含任何文件或子目录
????? rmdir? student? (删除student子目录)
?
文件操作命令:?
????? 名称:touch
????? 功能:建立空文件
????? 格式:touch??? 文件名????
?
??? ? 名称:cp(copy)
????? 功能:复制文件,将文件从一个地方复制到另一个地方,在进行文件复制时,需要指定复制的源位置和目标位置。
????? 路径:/usr/bin/cp
????? (1)复制文件
??????????? cp? source.txt? dest.txt? (将source.txt复制成dest.txt)
??????????? cp? source.txt? tmp/? (将source.txt复制到tmp/目录中,tmp是当前路径下的目录)
??????(2)覆盖文件前询问
????? 如果要复制的目标位置上已经存在了相同名称的文件,若用强行复制将会覆盖该文件,这时可以用“-i”参数来询问用户是否确实需要覆盖该文件。
????? cp? -i? source.txt? dest.txt? (将source.txt复制成dest.txt)
????? cp: overwrite dest.txt?? ?(dest.txt已经存在,询问用户是否覆盖该文件,按Y键覆盖,按N键不覆盖)
??????(3)强制复制
????? 如果在要复制的目标位置上已经存在了相同名称的文件,用“-f”参数可以强制覆盖该文件
????? cp ?-f? source.txt? dest.txt (强制复制文件source.txt成dest.txt)
????? (4)递归复制
????? cp命令也可用来复制目录,由于目录中可能包含子目录,因而需要用到“-r”参数来进行递归复制。
????? cp? -r? dwj/? imp/ (将目录dwj/ 复制到 imp/目录下)
????? cp? -r? dwj/*? imp/ (将目录dwj的内容复制到imp/目录下)
?
????? 名称:rm (remove)
????? 功能:删除文件
????? 路径:/usr/bin/rm
????? (1)删除文件
????? rm student.txt (删除文件student.txt)
????? rm * (删除当前目录下的所有文件)
????? (2)强制删除文件
????? 若确信要删除文件,可以用“-f”参数来强制删除文件,此时Linux将不会再作提示。
????? rm -f *.bat (强制删除当前目录下所有后缀为.bat的文件)
????? (3)删除文件前询问
????? 如果不是很确定,删除文件时最好带上“-i”参数,避免误操作,Linux中删除文件是不可恢复的,文件一旦被删除,就可能永远无法找回它了,所以一定要认真对待。删除文件时习惯性的加上“-i”参数,说不定在某个时候会帮上你的大忙。
????? rm -i *.txt (询问删除所有后缀为.txt的文件)
????? rm: remove regular empty file 'student.txt' (询问是否删除文件,按Y键删除,按N键不删除)
????? (4)递归删除
????? 除删除文件外,rm命令还能删除目录,它不像rmdir那样要求被删除的目录是空的。由于目录下可能会包含子目录,因此需要用“-r”参数进行递归删除。
????? rm - r /tmp/dwj/ (删除/tmp/dwj/目录)
?
????? 名称:mv(move)
????? 功能:移动文件或目录
????? 路径:/usr/bin/mv
????? mv命令可以将文件或目录移动到另一个位置,或者更改文件或目录的名称。
????? mv?? ?student.txt??? /imp/?? (将student.txt移到/imp/目录)
????? mv??? student.txt??? teacher.txt????? (将student.txt更名为teacher.txt)
?
文件查找命令:
????? 名称:whereis
????? 功能:定位文件所在的目录
????? whereis?? ls??? (定位ls命令的位置)
????? ls:? /bin/ls??? (ls位于/usr/bin目录下)
????? whereis命令不是通过查找磁盘上的所有文件来实现定位的,你可以随便指定一个可执行的文件,估计whereis会找不到,是因为whereis是根据环境变量PATH来查找文件的,而PATH通常设置成存放命令的那些路径,如/bin、/usr/bin等,因此whereis的用途仅限于定位shell命令所在的位置。
?
????? 名称:find
????? 功能:查找文件
????? 路径:/usr/bin/find
????? find命令可以用来从指定的目录开始查找文件,它的速度比不上whereis命令,但没有任何限制,而且功能要比whereis命令强。
????? find? -name? student.txt
????? /tmp/student.txt????? (查找结果)
?
????? 名称:locate
????? 功能:查找文件或目录
????? locate? student.txt????? (查找student.txt文件)
????? locate命令和find一样没有任何限制,但执行速度却比find要快不少,其主要原因在于,locate不是从磁盘中实时查找文件,而是到由updatedb命令产生的信息库中查找相应的文件和目录,这样一来速度当然快了。
????? updatedb
????? 如果locate找不到某个文件,而你又确信该文件肯定存在,那一定是updatedb生成的信息库已经过时了。此时,你要以root的身份登录,然后执行updatedb命令,重新建立整个系统所有文件和目录的资料库,虽然这个过程可能会浪费一点时间,但以后再查找就方便了。
?
文件处理(显示)命令:
????? 名称:cat (concatenate)
????? 功能:显示和合并文件,如果文本文件很长,一个屏幕显示不完,cat是不会自动分页的,只能看到最后几行。
????? 路径:/usr/bin/cat
????? ?????cat? ~/.bashrc????? (显示用户主目录下隐藏文件bashrc的内容)
?????????? cat? 1.txt? 2.txt? >? 0.txt????? (连接多个文本文件)
????? Linux中有个概念是I/O重定向,可以用输出重定向符“>”将输出内容写入到一个指定的文件中。通常命令的执行结果都会显示在屏幕上,但如果你想将结果记录到一个文件中,就可以利用该输出重定向的功能了。
????
????? 名称:more
????? 功能:分页显示文件内容
????? 路径:/usr/bin/more
??????????? more? /etc/passwd????? (分页显示/etc/passwd文件的内容)
????? 当文件内容一屏显示不下时,more命令将暂时显示文件中的其他内容,同时在屏幕的底部左侧显示“--more--”,提示还有未显示完的内容,此时可以按空格键来显示下一屏内容,也可以按Q键结束显示。
?
????? 名称:less
????? 功能:分页显示文件内容
????? less命令的作用和more类似,唯一不同的是less命令除了可以按空格键显示文件内容外,还可以利用上、下键来上下翻动显示内容,而more只能向下显示文件内容,不能回头去看已经出现过的内容。
?
????? 名称:head
????? 功能:查看文件的前几行
??????语法:head? -num? [文件名]????? -num显示文件的前面num行
?????????????? head? -20?? /etc/services
?
????? 名称:tail
????? 功能:查看文件的最后几行
??????语法:tail ?-num? [文件名]????? -num显示文件的后面num行
?????????????? tail? -30?? /etc/services
?????
????? 名称:grep
????? 功能:查找字符串
????????????? grep命令可以在一个或多个文件中查找某个指定的字符串,如果找到则显示文件中包含该字符串的每一行。
??????????????grep? xxxy?? /etc/passwd?????? (从文件/etc/passwd中查找字符串xxxy)?????
?
磁盘管理命令:
????? 名称:df? (disk filesystem)?
????? 功能:显示文件系统的当前占用情况
????? df可以用来获得文件系统当前占用的磁盘空间大小,以及剩余的可用空间的大小。
?????
filesystem1K-blocksUsedavailableUse%Mounted on/dev/hda21320366018692641066368415%/none307680307680%/dev/shm?????? ?filesystem:显示各个文件系统对应的硬盘分区名称
??????? ?1K-blocks:每个分区占用的磁盘空间大小,单位是1KB
?????????? ?? ? Used:已经使用的磁盘空间的大小
? ????? ? available:目前剩余的可用磁盘空间的大小
???????????????Use%:各个分区磁盘空间的使用率
????? Mounted on:分区在整个Linux文件系统中的加载位置
?
????? 名称:du (disk usage)
????? 功能:显示文件或目录占用的磁盘空间大小
??????????? du? -s? /bin/????? (查看/bin/目录占用的磁盘空间大小)
???????????? 7??????? /bin/
???????? du命令的输出结果显示/bin/目录共占据7MB磁盘空间,如果不加“-s”参数则可以显示此目录下每个文件的大小。
?
????? 名称:mount
????? 功能:加载存储设备。Linux中使用光盘必须先将这些设备映射到系统中的某个目录之后,才可以存取上面的数据。将软盘或光盘映射到文件系统指定目录的过程叫加载(mount)。加载的目的就是把某个存储介质(软盘或光盘)与文件系统中的某个目录建立联系,此后凡是对该目录的操作实际上就是读写此存储介质上相应的数据。
??????? #mount? /dev/cdrom/mnt/cdrom/????? (将光盘加载到文件系统的/mnt/cdrom/目录)
?????
????? 名称:umount
????? 功能:卸载存储设备
?????????#umount? /mnt/cdrom/???????????????????? (将光盘卸载,不再与目录/mnt/cdrom/相关联)
?
进程管理命令:
????? 名称:ps
????? 功能:查看进程(类似于windows下的任务管理器)
?????
????? 名称:kill
????? 功能:结束进程,必须告诉系统想要结束哪个进程。所有的进程在Linux中有一个编号,叫进程标识符(PID),在ps命令查看的输出信息中的第二个字段就是PID。
???????????? #kill?? 1309??????? (若使用了kill进程还不能结束,试试用“-9”参数)
?
????? 名称:killall
????? 功能:结束所有进程
????????????? #killall? -9? mount????? (结束名称为mount的进程)
??
????? 名称:top
????? 功能:监视进程状态
????????????? #top?????????? (监视系统状态)
?
软件包管理命令:
????? 名称:rpm
????? 功能:RedHat Package Manager软件包的管理
?
????? 名称:tar
????? 功能:打包文件
?
压缩及解压命令
????? 名称:gzip
????? 功能:压缩文件
?
????? 名称:gunzip
????? 功能:解压缩文件
?
????? 名称:bzip2
????? 功能:压缩文件
???? ?bzip2 也是Linux 下的一个常用文件压缩命令,Linux? 内核源码在发布时就是采用bzip2
进行压缩的。用bzip2 可以将一个文件压缩成.bz2 格式。?
?????????? #bzip2 data.txt????????? (# 压缩文件data.txt)
?????
????? 名称:bunzip2
????? 功能:解压缩文件
?
?
?