linux常用shell命令 linux常见shell命令

Linux常用基本命令大全介绍 学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令 。下面由我为大家整理了Linux系统常用的基本命令入门篇 , 希望对大家有帮助!
Linux系统常用的基本命令入门篇一、基础命令
1.Linu x的进 入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root--超级用户帐号(系统管理员) , 使用这个帐号可以在系统中做任何事情 。
2.普通用户--这个帐号供普通用户使用,可以进行有限的操作 。
一般的Linux使用者均为普通用户 , 而系统管理员一般使用超级用户帐号完成一些系统管理的工作 。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统 。影响系统的正常运行 。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串 , 对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字 。
当用户正确地输入用户名和口令后,就能合法地进入系统 。屏幕显示:
[root@loclhost/root] #
这时就可以对系统做各种操作了 。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo; 。
2.修改口令
为了更好的保护用户帐号的安全,Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键 。如果用户忘记了口令 , 可以向系统管理员申请为自己重新设置一个 。
3.虚拟控制台
Linux是一个真正的多用户操作系统,它可以同时接受多个用户登录 。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录 。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如 , 用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符 , 说明用户看到了第二个虚拟控制台 。然后只需按Alt-F1键,就可以回到第一个虚拟控制台 。一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台 。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性 。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作 。
退出系统
不论是超级用户 , 还是普通用户 , 需要退出系统时,在shell提示符下,键入exit命令即可 。
4.查看命令帮助信息
man命令
man命令用于查询命令和程序的使用方法和参数 。
例如:
man ls
将显示ls命令的基本格式和使用方法
Linux系统常用的基本命令入门篇二、关机重启命令
首先,是关机/重启命令,仅在虚拟机时使用,实际工作中用不到
reboot 一般不跟参数使用,输入指令即可重启
shutdown 一般需要跟参数,例:
shutdown -r 延时多少分钟重启,一般使用now
shutdown -r now 立即重启
shutdown -f 强制重启
跟windows一样,linux也存在注销功能
exit
1)halt
halt 可不接参数
halt -f 强制关机
2)poweroff
poweroff 可不接参数使用
poweroff -f 强制关机
3)init 0
4)shutdown 不可单独使用
shutdown -h 分钟数 延时多久关机
shutdown -h now 立即关机
Linux系统常用的基本命令入门篇三、vi编辑
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器 。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能 。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换 。
默认情况下,打开vi编辑器后自动进入命令模式 。从编辑模式切换到命令模式使用ldquo;escrdquo;键 , 从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键 。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入 。常用内置命令如下:
1 Ctrl u:向文件首翻半屏;
2 Ctrl d:向文件尾翻半屏;
3 Ctrl f:向文件尾翻一屏;
4 Ctrl b:向文件首翻一屏;
5 Esc:从编辑模式切换到命令模式;
6 ZZ:命令模式下保存当前文件所做的修改后退出vi;
7 :行号:光标跳转到指定行的行首;
8 :$:光标跳转到最后一行的行首;
9 x或X:删除一个字符 , x删除光标后的 , 而X删除光标前的;
10 D:删除从当前光标到光标所在行尾的全部字符;
11 dd:删除光标行正行内容;
12 ndd:删除当前行及其后n-1行;
13 nyy:将当前行及其下n行的内容保存到寄存器?中 , 其中?为一个字母,n为一个数字;
14 p:粘贴文本操作 , 用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P:粘贴文本操作 , 用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串:文本查找操作 , 用于从当前光标所在位置开始向文件尾部查找指定字符串的内容 , 查找的字符串会被加亮显示;
17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串 。其中,ldquo;s/rdquo;表示进行替换操作;
19 a:在当前字符后添加文本;
20 A:在行末添加文本;
21 i:在当前字符前插入文本;
22 I:在行首插入文本;
23 o:在当前行后面插入一空行;
24 O:在当前行前面插入一空行;
25 :wq:在命令模式下,执行存盘退出操作;
26 :w:在命令模式下,执行存盘操作;
27 :w!:在命令模式下 , 执行强制存盘操作;
28 :q:在命令模式下,执行退出vi操作;
29 :q!:在命令模式下,执行强制退出vi操作;
30 :e文件名:在命令模式下,打开并编辑指定名称的文件;
31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32 :f:在命令模式下 , 用于显示当前的文件名、光标所在行的行号以及显示比例;
33 :set nu:在命令模式下,用于在最左端显示行号;
34 :set nonu:在命令模式下,用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
Linux常用命令一、查询相关
find
按规则查找某个文件或文件夹,包括子目录
find . -name '_sh' -- 以.sh结尾的文件
find . -name '_hannel_ -- 包含channel字符的文件
find . -name 'build_ -- 以build开头的文件
find . -name 'abc??' -- abc后面有两个字符的文件
grep
查找内容包含指定的范本样式的文件,Global Regular Expression Print
grep -n pattern files -- 规则 -n表示显示行号
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号
ps -e | grep java -- 所有java进程
ps -e | grep -i qq --所有qq进程 , 不区分大小写
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方
ls | grep 'channel' -- 包含channel关键字的文件
which
在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
从指定点开始将文件写到标准输出 。使用tail命令的-f选项可以方便的查阅正在改变的日志文件 , tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新 , 使你看到最新的文件内容 。
tail -f test.log,循环查看文件内容,Ctrl c来终止
tail -n 5 test.log , 显示文件最后5行内容
tail -n5 test.log,从第5行开始显示文件
more
more [-dlfpcsu] [-num] [ / pattern] [ linenum] [file...]
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能 。
more3 test.log,显示文件中从第3行起的内容
more -5 test.log,设定每屏显示行数
ls -l | more -5,每页显示5个文件信息
more/day3 test.log,查找第一个出现"day3"字符串的行 , 并从该处前两行开始显示输出
less
less [options] [file...]
与more命令一样,less命令也用来分屏显示文件的内容 。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览 。用less命令显示文件时,用PageUp键向上翻页 , 用PageDown键向下翻页 。要退出less程序,应按Q键 。
less test.log , 查看文件
ps -ef | less,查看进程信息并通过less分页显示
history | less,查看命令历史使用记录并通过less分页显示
less test1.log test2.log , 浏览多个文件,n和p切换文件
watch
watch [options] command
每隔一段时间重复运行一个命令 , 默认间隔时间是2秒 。要运行的命令直接传给shell(注意引用和转义特殊字符) 。结果会展示为全屏模式,这样你可以很方便的观察改变
watch -n 60 date,执行date命令每分钟一次 , 输入^C 退出
watch -d ls -l,查看目录变化
watch -d rsquo;ls -l | fgrep joersquo; , 想找joe用户的文件
watch -d 'ls -l|grep scf',监测当前目录中 scf' 的文件的变化
watch -n 10 'cat /proc/loadavg',10秒一次输出系统的平均负载
watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化
watch -n 1 -d 'pstree | grep http',每隔一秒高亮显示http链接数的变化
Linux常用命令三、文件相关
vi
vi file
按i键,进入编辑模式
按esc键,进入命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件 , 强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
chmod
change mode,变更文件或目录的读、写、运行权限
chmod [-cfvR] [--help] [--version] mode file...
mode:权限设定字串,格式如下 : [ugoa...][[ -=][rw xX ]...][,...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者 , o 表示其他以外的人,a 表示这三者皆是
表示增加权限、- 表示取消权限、= 表示唯一设定权限 。
r 表示可读取,w 表示可写入,x 表示可执行 , X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行 。
chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file
其中a,b,c各为一个数字 , 分别表示User、Group、及Other的权限 。r=4,w=2,x=1
chmod 777 file , 等同于 chmod a=rwx file
chmod ug=rwx,o=x file,等同于 chmod 771 file
chmod 4755 filename,可使此程序具有root的权限
ls -l 可以查看列出当前用户的文件权限
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把当前所有文件压缩到test.zip
zip -r test.zip test,把test文件所有文件及目录,要是到test.zip
zip -d test.zip test.txt,删除压缩文件中test.txt文件
zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir , 处理多个文件和目录 , 空格隔开
unzip
unzip zip-file,解压到当前目录
unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录
unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件
unzip -n -d dst-dir zip-file,解压到指定的目录,不覆盖已经原有的文件
unzip -o -d dst-dir zip-file,-o不必先询问用户覆盖原有文件
unzip -l zip-file,仅查看压缩文件内所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test,把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz , 把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在显示器上
tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录
touch
Linux shell有哪些类型?Linux基础教程shell是一门脚本语言,即shell脚本 , shell也是解释执行的脚本语言,可直接调用Linux命令,所以它在Linux系统中有着非常重要的作用 。那么Linux
shell有哪些类型?我们来看看吧 。
shell脚本语言是弱类型语言 , 无需定义变量的类型就可使用,主要有两大类:bourne shell、C shell 。
第一种:Bourne shell
Bourne shell又包括Bourne shell (sh)、Korn shell (ksh)、Bourne Again
Shell(bash)三种类型 。
Bourne shell (sh)由ATT的Steve Bourne开发,是标准的UNIX Shell , 很多UNIX系统都配有sh 。
Korn shell (ksh)由David Korn开发,是Bourne
shell(sh)的超集合,并且添加了csh引入的新功能,是目前很多UNIX系统标准配置的Shell,在这些系统上的/bin/sh往往是指向/bin/ksh的符号链接 。
Bourne Again
Shell即bash由GNU项目组开发,主要目标是与POSIX标准保持一致,同时兼顾对sh的兼容,bash从csh和ksh借鉴了很多功能,是各种Linux发行版默认配置的Shell,在Linux系统上的/bin/sh往往是指向/bin/bash的符号链接 。虽然如此,bash和sh还是有很多的不同,一方面,bash扩展了一些命令和参数,另一方面 , bash并不完全和sh兼容 , 它们有些行为并不一致,但大多数企业运维的情况下区别不大,特殊场景可以使用bash替代sh 。
第二种:C shell
C shell又包括csh、tcsh两种类型 。
csh由Berkeley大学开发,随BSD UNIX发布,它的流程控制语句很像C语言,支持很多Bourne
Shell所不支持的功能,例如:作业控制、别名、系统算术、命令历史、命令行编辑等 。
tcsh是csh的增强版,加入了命令补全等功能,在FreeBSD、Mac OS X等系统上替代了csh 。
以上介绍的这些Shell中,较为通用的是标准的Bourne shell (sh)和C shell (csh) 。其中Bourne shell
(sh)已经被Bourne Again shell (bash) 取代 。
可通过以下命令查看CentOS7系统的Shell支持情况 。
[root@oldboy ~]# cat /etc/shells
/bin/sh #==这是Linux里常用的Shell,指向/bin/bash 。
/bin/bash #==这是Linux里常用的Shell,也是默认使用的Shell 。
/usr/bin/sh
/usr/bin/bash
Linux系统中的主流Shell是bash,bash是由Bourne
Shell(sh)发展而来的,但bash还包含了csh和ksh的特色,但大多数脚本都可以不加修改地在sh上运行,如果你使用sh后发现结果和预期有差异,那么可以尝试使用bash替代sh 。
求助:LINUX常用SHELL命令分类:电脑/网络操作系统/系统故障
问题描述:
欢迎大家的投稿!!!!!!!
解析:
LINUX常用命令
1 文件与目录操作命令
1.1文件内容查询命令
grep、fgrep、egrep
CODE:[Copy to clipboard]语法:grep[选项][查找模式][文件名1,文件名2,……]
选项:
QUOTE:
-E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待,而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文件名并用换行符将其分开 。当在文件中多次出现匹配串时,不重复显示次文件名;
-x 只显示整行严格匹配的行
1.2文件查找命令 find、locate
语法:
CODE:[Copy to clipboard]find 起始目录 寻找条件 操作
以名称和文件属性查找
QUOTE:
-name‘字串‘ 查找文件名匹配所给字串的所有文件,字串内可用通配符*、?、[] 。
-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[] 。
-gid n 查找属于ID号为n的用户组的所有文件 。
-uid n 查找属于ID号为n的用户的所有文件 。
-group‘字串‘ 查找属于用户组名为所给字串的所有的文件 。
-user‘字串‘ 查找属于用户名为所给字串的所有的文件 。
-path‘字串‘ 查找路径名匹配所给字串的所有文件 , 字串内可用通配符*、?、[] 。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644 。
-type x 查找类型为 x的文件,
语法:locate 相关字
1.3文件的复制、删除和移动命令
文件复制命令
CODE:[Copy to clipboard]cp [选项] 源文件或目录 目标文件或目录
选项:
QUOTE:
- a 通常在拷贝目录时使用
-d 拷贝时保留连接
-f 删除已经存在的目标文件而不提示
-i 和f选项相反
-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;
-l 不作拷贝,只是链接文件
文件移动命令
CODE:[Copy to clipboard]mv[选项] 源文件或目录 目标文件或目录
QUOTE:
-i 交互式操作
-f 禁止交互式操作
文件删除命令
CODE:[Copy to clipboard]rm[选项] 文件…
QUOTE:
-f 忽略不存在的文件,从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除
1.4文件链接命令
CODE:[Copy to clipboard]ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录
QUOTE:
选项:
- s 建立符号链接
1.5目录的创建和删除命令
mkdir 创建一个目录
语法:
CODE:[Copy to clipboard]mkdir [选项] dirname
选项:
- m 对新建目录设置存取权限
-p 可以是一个路径名称 。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 。
rmdir 删除空目录
语法:
CODE:[Copy to clipboard]rmdir [选项] dirname
QUOTE:
选项:
- p 递归删除目录dirname,当子目录删除后其父目录为空时 , 也一同被删除 。
1.6改变工作目录,显示目录内容命令
1、改变工作目录:
CODE:[Copy to clipboard]cd [directory]
2、显示当前工作的目录的绝对路径:
CODE:[Copy to clipboard]pwd
3、显示目录内容:
CODE:[Copy to clipboard]ls [选项] [目录或是文件]
QUOTE:
选项:
- a 显示指定目录下所有子目录与文件,包括隐藏文件;
-c 按照文件的修改时间排序
-C 分成多列显示各项
-d 如果参数是目录,只显示其名称而不显示其下的个文件
-F 在目录名后面标记“/” , 可执行文件后面标记“*”,符号链接后面标记“@”,管道(或FIFO)后面标记“|” , socket文件后面标记“=” 。
-l 以长格式来显示文件的详细信息
-L 若指定的名称为一个符号链接,则显示链接所指向的文件
-t 显示时按修改时间而不是名字排序
-u 显示时按文件上次存取的时间而不是名字排序
4、改变文件或目录的访问权限命令
CODE:[Copy to clipboard]chmod [who] [ | - | = ] [mode] 文件名?
QUOTE:
Who选项:
- u表示用户,即文件和目录的所有者
-g表示同组用户
-o(other)表示其他用户
-a (all)表示所有用户
QUOTE:
操作符号:
添加某个权限 - 取消某个权限
= 赋予给定权限并取消其他所有的权限(如果有的话)
QUOTE:
mode 选项:
- r 可读
-w 可写
-x 可执行
CODE:[Copy to clipboard]chgrp [-R] group filename? 改变目录或文件所属的组
CODE:[Copy to clipboard]chown [-Rv] 用户或组 文件
1.7备份与压缩命令
1、tar命令 为文件和目录创建档案
语法:
CODE:[Copy to clipboard]tar [主选项 辅助选项] 文件或者目录
QUOTE:
u 主选项
c 创建新的档案文件 。如果用户想备份一个目录或是一些文件,则选此项
r 把要存档的文件追加到档案文件的末尾
t 列出档案文件的内容,查看已经备份了哪些文件;
u 更新文件
x 从档案文件中释放文件;
u 辅助选项
b 该选项为磁带机设定的 , 其后跟一位数字,用来说明区块的大小 , 系统预设值为20
f 使用档案文件或设备,这个选项通常是必选的
k 保存已经存在的文件 。例如把某个文件还原 , 在还原的过程中,遇到相同的文件,不会进行覆盖;
m 在还原文件时,把所有文件的修改时间设定为现在;
M 创建多卷的档案文件,以便在几个磁盘中存放;
v 详细报告tar处理的文件信息
w 每一步都要求确认
z 用gzip来压缩/解压缩文件
2、gzip命令 压缩/解压缩命令
语法:
CODE:[Copy to clipboard]gzip [选项] 压缩(解压缩)的文件名
QUOTE:
选项:
-c 将输出写到标准输出上,并保留原有文件
-d 将压缩文件解压
-l 显示每个压缩文件的详细信息
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩
-t 测试、检查压缩文件是否完整
-v 对每一个压缩和解压的文件 , 显示文件名和压缩比
3、unzip 命令
用MS windows下的压缩软件winzip压缩的文件在linux系统下展开
语法:
CODE:[Copy to clipboard]unzip [选项] 压缩文件名.zip
QUOTE:
选项:
-x 文件列表 解压缩文件,但不包括指定的file文件
-v 查看压缩文件目录 , 但不解压
-t 测试文件有无损坏,但不解压
-d 目录 将压缩文件解到指定目录下
-z 只显示压缩文件的注解
-n 不覆盖已经存在的文件
-o 覆盖已经存在的文件且不要求用户确认
-j 不重建文档的目录结构,把所有文件解压到同一目录下
1.8在LINUX环境下运行DOS命令
linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录 。
QUOTE:
mcd 目录名 改变MSDOS目录
mcopy 源文件 目标文件 在MSDOS和UNIX之间复制文件;
mdel 目录名 删除MSDOS目录
mdir 目录名 显示MSDOS目录
mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统
rnlabel 驱动器号 产生MSDOS卷标
mmd 目录名 删除MSDOS目录
mren 源文件 目标文件 重新命名已存在的MSDOS文件
mtype 文件名 显示MSDOS文件的内容
2 设备管理命令
1)linux采用下面的形式定义一个IDE硬盘:
CODE:[Copy to clipboard]/dev/hd[drive][partition]
2)SCSI硬盘使用同样的机制表示:
CODE:[Copy to clipboard]/dev/sd[drive][partition]
3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统,命令如下:
CODE:[Copy to clipboard]mk2fs –c partition; size;
4)装载文件系统:
CODE:[Copy to clipboard]mount –t ext2 [-o optioms] partition mountpiont
其中,
QUOTE:
-t为指定装载文件系统的类型;
-o指定一些选项 , 如只读ro,可读可写rw等等;
partition定义分区名称;
mountpiont定义文件系统被装载的目录名称 。
5)装载CD-ROM文件系统:
CODE:[Copy to clipboard]mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)装载软驱文件系统:
CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸载文件系统
CODE:[Copy to clipboard]umount /mnt/cdrom
磁带设备的安装要注意以下几点:
QUOTE:
1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置
2、 选择驱动程序 。
3、 生成设备文件 。SCSI磁带设备的主要设备号是9,次要设备号是0 。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备)
用 ls /dev/*rst*
检查磁带设备文件是否存在,如果不存在,用
mknod –m 666 /dev/nrst0 c 9 9
mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如
mt setblk 20 将块长度指定为20
mt setblk 0 指定块程度没有限制
5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备 。用dmesg命令,查看是否有以下类似的信息:
aha274x:target 4now synchronous at 4.4Mb/s
Vendor:TANDBERG Model:TDC 3800 Rev: =05:
Type: Sequential-Access ANSI SCSI revision: 02
Detected scsi tape st0 at scsi0, id4, lun0
Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 软件包管理命令
3.1软件安装的步骤
在LINUX系统上安装软件的步骤有:
QUOTE:
1、 查找所要安装软件的源文件
2、 把源文件解开放到一个目录中,命令如下:
tar zxvf 源文件名;
3、 针对本操作系统配置源文件 。可以是编辑make文件或其他文件,也可能是运行该软件自带的自动配置工具,如./configure
4、 make源文件,通常是运行make命令,即执行 make
5、 安装二进制文件和其他支撑文件,运行命令: make install
6、 最后,完成所有其他必须的配置
3.2软件包管理命令
QUOTE:
rpm –ivh 软件包;
安装指定的软件包,并在安装过程中用#表示安装的进度
rpm –Uvh 软件包;
更新一个已经存在的或还没安装好的软件包 , 并删除所有该软件包的旧版本 。
rpm –e
卸载一个rpm软件包
rpm –qa
查看系统中已经安装的软件包
rpm –q 软件包;
查看系统中某个软件包的版本号;
rpm –qlp 软件包;
列出某个软件包中的所有文件
rpm –qf 软件包;
找出一个文件属于哪个软件包
4 LINUX系统常用命令
4.1 与系统管理有关的命令
Wall (Write All)
QUOTE:
对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入:
# wallFileName
例:Wall ‘Thank you !’
Write
向某一用户发送信息 。
Write xxq
hello
输入Ctrl C组合即可终止
Shutdown命令
CODE:[Copy to clipboard]Shutdown [选项] [时间] [警告信息]
QUOTE:
-k 并不真正关机,而只是发出警告信息给所有的用户 。
-r 关机后立即重新启动 。
-h 关机后不重新启动 。
-f 快速关机,启动时跳过fsck 。
-n快速关机,不经过init程序 。
-c 取消一个已经运行的shutdown
例:系统马上关机:Shutdown –h now
Free命令
查看当前系统内存的使用情况,
CODE:[Copy to clipboard]Free [-b] [-k] [-m]
CODE:[Copy to clipboard]-b 以字节为单位显示 。
-k 以K字节为单位显示 。
-m 以M字节为单位显示 。
Uptime
QUOTE:
显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载 。
4.2与用户有关的命令
Passwd命令
设置、更换用户口令 。
CODE:[Copy to clipboard]Passwd [用户名]
Su
使一个普通的用户具有超级用户的权利,离开可用EXIT命令 。
4.3其它命令
Echo命令
在显示器上显示一段文字,一般起到一个提示的作用 。
CODE:[Copy to clipboard]echo [-n] 字符串
Cal命令
显示某年某月的日历 。
CODE:[Copy to clipboard]cal [选项] [月[年]]
QUOTE:
选项的含义:
-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起) 。
-y 显示也整年的日历 。
Date命令
date命令的功能是显示和设置系统日期和时间 。
4.4磁盘管理
磁盘空间管理
df命令
检查文件系统的磁盘空间占用局部 。
CODE:[Copy to clipboard]Df [选项]
QUOTE:
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统 。
-k 以K字节为单位显示 。
-i 显示i节点信息,而不是磁盘块 。
- t 显示各指定类型的文件系统的磁盘空间使用情况 。
-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反) 。
-T 显示文件系统类型 。
du命令
du的英文原意为disk usage,含义为显示磁盘空间的使用情况 。功能是统计目录(或文件)所占磁盘空间的大小 。
CODE:[Copy to clipboard]du [选项] [Names…]
QUOTE:
-s 对每人Names 参数只给也占用的数据块总数 。
-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数 。
-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)
-k 以1024字节为单位列也磁盘空间使用情况 。
-c 最后再加上一个总计(系统缺?。?
-l 计算所有的文件大小,对硬链接文件 , 则计算多次 。
-x 跳过在不同文件系统上的目录不予统计 。
dd命令
把指定的输入文件拷贝到指定的输出文件中 , 并且在拷贝的过程中可以进行格式转换 。语法:
CODE:[Copy to clipboard]dd 〔选项〕
QUOTE:
if =输入文件(或设备名称) 。
of =输出文件(或设备名称) 。
ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数 。
skip = blocks 跳过读入缓冲区开头的ibs*blocks块 。
obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数 。
bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs) 。
cbs = bytes 一次转换bytes字节 。
count = blocks 只拷贝输入的blocks块 。
conv = ASCII 把EBCDIC码转换为ASCII码 。
conv = ebcdic 把ASCII码转换为EBCDIC码 。
conv = ibm 把ASCII码转换为alternate EBCDIC码 。
conv = blick 把变动位转换成固定字符 。
conv = ublock 把固定们转换成变动位
conv = ucase 把字母由小写变为大写 。
conv = lcase 把字母由大写变为小写 。
conv = notrunc 不截短输出文件 。
conv = swab 交换每一对输入字节 。
conv = noerror 出错时不停止处理 。
conv = sync 把每个输入记录的大小都调到ibs的大?。ㄓ胕bs填充) 。
fdformat命令
低级格式化软盘 。
CODE:[Copy to clipboard]format [-n] device
QUOTE:
-n 格式化后不做检验
4.5常用的网络命令
FTP命令
Tel命令 。
Netstat命令
QUOTE:
-a 显示所有的scoket,包括正在监听和 。
-c 每隔1秒就重新显示一遍 , 直到用户中断它 。
-i 显示所有网络接口的信息,格式同”ifconfig –e”
-n 以网络IP地址代替名称,显示也网络连接情形 。
-r 显示核心路由表,格式同”route –e: 。
-t 显示TCP协议的连接情况 。
-u 显示UDP协议的连接情况 。
-v 显示正在进行的工作 。
nslookup命令 。
finger命令 , 功能是查询用户的信息 。
ping命令 。
(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg 。)
4.6有关进程的命令 。
进程和启动
CODE:[Copy to clipboard]at [-V] [-q] [-f文件名] [-mldbv]时间
at –c 作业 [作业….]
AT命令启动的进程系统只执行一次 。
batch [-V] [-q 队列] [-f 文件名] [-mv] [时间]
在系统负载较小时,资源比较空闲时执行 。
cron命令
按一定的时间间隔执行命令 。
crontab命令
用于安装、删除或列出用于驱支cron后台进程的表格 。
进程查看
CODE:[Copy to clipboard]who命令 。
w命令
是一个比who命令更强大的命令
w –[husfV] [user]
-h 不显示标题 。
-u 当列出当前进程和CPU时间时忽略用户名 。
-s 使用短模式 。不显示登录时间JCPU和PCPU时间 。
-f 切换显示FROM项,也就是远程主机名项 。
-V 显示版本信息 。
user 只显示指定用户的情况 。
ps命令 。
-e 显示所有进程 。
-f 全格式
-h 不显示标题 。
-l 长格式 。
-w 宽输出 。
a 显示终端上所有进程,包括其他用户的进程 。
r 只显示正在运行的进程 。
x 显示没有控制终端的进程 。
top 命令
动态显示系统当前的进程和其他状况 。
5系统的启动过程 。
5.1初始启动
在PC机启动时,BIOS从指定的启动设备中读入“主引导记录”(MBR) 。MBR的格式是:
地址偏移量 内容 大小
00 h 可执行的代码(启动模块) 可能变化
1BE h 第一分区表项 16字节
1CE h 第二分区表项 16字节
1DE h 第三分区表项 16字节
1EE h 第四分区表项 16字节
1FE h 可执行的标记(AA55 h) 2字节
启动模块包含足以装入操作系统的代码,或者是第二步的加载代码的位置 。启动模块需要使用BIOS调用来从磁盘装入数据,而这些中断调用,如INT 13h等,限制了最大磁盘柱面号为1023 。这也就是说启动模块需要加载的一切内容 , 如初始内存磁盘、内核、启动的时间信息等,必须存放在1024个柱面以内 。
在MBR中只有四个分区表项,每个表项的格式如下:
地址偏移 内容 大小
00h 分区状态:00代表非启动分区,80h代表启动分区 1字节
01h 分区的起始位置 磁头 1字节
02h 分区的起始位置 柱面和扇区 1字节
04h 分区的类型 1字节
05h 分区的结束位置 磁头 1字节
06h 分区的结束位置 柱面和扇区 1字节
08h 在主引导区和本分区的第一个扇区间的扇区数目 4字节
0Ch 分区内的扇区数目 4字节
5.2 Linux的启动过程
1启动的命令行参数
在Linux启动时,它处理所有传递给它的命令行参数 。这可以影响Linux的运行方式 。命令行参数包括:
QUOTE:
mem=xxxM:定Linux可以使用的内存大小 。这在用户的计算机系统有超过64MB的内存时才需要 。因为从前的主板只对第一个64MB内存进行缓存,使用超过64MB的内存会使整个计算机的性能下降,所有内存均按无缓存的速度运行 。
single:使Linux按单用户方式启动 , 缺省方式是多用户方式 。
root=/dev/xxx:指定Linux要安装为根文件系统的设备 。
init=file;:指定作为初始化进程的文件 。
initrd=dev;:指定作为初始内存磁盘的设备 。
ro:指定根文件系统为只读 。
rw:指定根文件系统为可读可写 。
2 Init进程
在内核初始化自身和找到的硬件设备后,在后台启动进程init(/ *** in/init),init进程号1运行 。
在UNIX世界中有许多启动过程的版本,一些是基于系统V , 一些是基于BSD 。大多数Linux版本使用系统V的实现方法 , 在这里描述的就是这样 。
init是由文件/etc/inittab内容和功能控制的,随启动模式是单用户或多用户而不同 。
QUOTE:
单用户模式:init进程忽略/etc/inittab文件,在执行少数几个脚本程序后调用/dev/console shell 。这样,用户就可以有了一个shell,而且可以执行一定限度的任务 。
多用户模式:init进程把系统带入/etc/inittab文件指定的运行级别 。Init通过标准的Linux方法进入一个指定的进行级别 。
3.进行级别
Linux与其他UNIX操作系统一样,可以任何时刻处于任何一个运行级别 。这些运行级别提供的功能不同,为主要是由于其运行的服务方程序(后台daemon)的不同造成的 。Linux共有6种运行级别 。
QUOTE:
0:关闭计算机或终止计算机运行,这个级别就是系统停止运行 。
1:单用户启动级别,系统只有一个用户,就是root,该用户在控制台登录 。
2:多用户运行级别,但无网络功能 。在这个运行级别 , 网络功能没有启动 , 但是系统允许多个用户登录,可以通过虚拟控制台或串行线路 。
3:多用户模式,有网络功能 。在这个运行级别,所有标准网络服务均被启动 。
4:目前没有实现 。
5:X11运行级别 , 在这个运行级别,X服务器软件运行,提供图形界面的登录方式 。
6:系统重新启动 。
查询当前运行级别:runlevel;
4在启动过程中运行的脚本
在init进程运行时,它负责查看缺省的运行级别,并进入该运行级别 。这是通过运行在/etc/rc.d/rcX.d目录下的脚本程序来实现的,其中X代表运行的级别,即一个运行级别对应一个目录 。不同的字母开头的文件有不同的作用 。其中:
以K开头的脚本程序是系统离开某个运行级别时执行的 , 作用是停止某种服务 。当系统从某个支持级别变为其他级别时 , 首先要进行原运行级别所对应的所有K程序 。
以S开头的脚本程序是系统进入某个运行级别时所执行的,作用是启动某种服务 。当系统改变为某个运行级别时,就要运行新运行级别所对应的所有S程序 。
5增加启动脚本程序
用户可能有一些特定的硬件设备要初始化,或需要在系统启动时初始化一些其他应用程序,用户可以增加自己的初始化脚本程序来完成这些工作 。通常步骤是:
复制一个已经存在的脚本,这样可以得到一个通用的框架格式 。
修改这个脚本,以完成自己的需求,要注意使程序可以处理启动和关闭的参数 , 尽管可能关闭处理什么也不需要干 。
把这个肢本拷贝到/etc/rc.d/init.d目录下,命名为”serv” 。
按下面的方法在相应的目录下建立运行控制链接:
CODE:[Copy to clipboard]ln –s ../init.d/serv/etc/rc.d/rc3.d/s99 serv
进行测试 。
6 LILO和其他的启动模块
要启动Linux,启动模块是必须的 。一般用于Linux的启动模块是LILO,LILO用自己的主引导区代替一般的主引导区 。LILO可以通过修改/etc/lilo.conf文件内容来进行配置,对引导区内容的更新通过lilo命令来完成 。
下面给也了一个装有DOS,TurboLinux3.4.0和RedHat 5.2系统的计算机的lilo.conf文件 。在例子中的数字标号是用户加上去并要在文中详细解释的 。
CODE:[Copy to clipboard]# more /etc/lilo.conf
boot=dev/had
map=/boot/map
instll/boot/boot.b
prompt
#表示启动盘是/dev/had,这是主IDE硬盘 。
timeout=50
#表示等待用户输入的时间是50秒 。
default=TL3.4
other=dev/hda1
#表示如果在上述的时间内没有输入,缺省的启动系统是TL3.4 , 即TurboLinux 3.4.0
label=dos
table=dev/had
#表示如果在LILO提示用户输入启动系统时,用户按了Tab;键,各个系统将以label的内容显示出来,供用户选择 。
image=/mnt/tl3.4/boot/vmlinuz
label=TL3.4
root=/dev/hda3
read-only
TurboLinux的启动文件,/mnt/tl3.4/boot/vmlinuz被确定,根文件系统在/dev/hda3,根文件系统是只读方式的 。
CODE:[Copy to clipboard]image=/mnt/rh5.2/boot/vmlinuz-2.0.36-0.7
label=RH5.2
root=/dev/hda4
read-only
RedHat的启动文件,/mnt/rh5.2/boot/vmlinuz-2.0,36-0.7被确定,根文件系统在/dev/hda4,根文件系统可读写 。
linux反弹shell知识汇总shell是渗透中常用的名词,像getshell,webshell,反弹shell等等,都和shell相关 。
百度百科解释的shell:
在计算机科学中,Shell俗称壳(用来区别于核),是指“为使用者提供操作界面”的软件(命令解析器) 。它类似于DOS下的command.com和后来的cmd.exe 。它接收用户命令,然后调用相应的应用程序 。
简单说用户通过壳访问操作系统内核的服务,也就是由壳到内核,执行系统命令 。
getshell:获取到目标的命令执行权限
webshell:指网站后门,通过web服务进行命令执行
反弹shell:把命令行的输入输出转移到其它主机
1、webshell下执行命令不交互,为了方便提权或其它操作必须要反弹shell 。
2、反弹shell相当于新增一个后门,当webshell被发现删除后权限不会丢失 。
使用whereis命令去确定目标支持的反弹方法 。
bash反弹是实战中用的最多的方法
把命令拆开分析:
1、bash -i代表在本地打开一个bash
2、/dev/tcp/是Linux中的一个特殊设备,打开这个文件就相当于发出了一个socket调用,建立一个socket连接
3、后面跟上/dev/tcp/ip/port这个文件代表将标准输出和标准错误输出重定向到这个文件,也就是传递到远程vps
4、远程vps开启对应的端口去监听 , 就会接收到这个bash的标准输出和标准错误输出 。
需要目标主机安装了nc
使用其他版本的 nc
配合命名管道进行反弹:
首先使用socket与远程建立起连接 , 接下来使用到了os库的dup2方法将标准输入、标准输出、标准错误输出重定向到远程 , dup2这个方法有两个参数,分别为文件描述符fd1和fd2,当fd2参数存在时,就关闭fd2 , 然后将fd1代表的那个文件强行复制给fd2,在这里可以把fd1和fd2看作是C语言里的指针,将fd1赋值给fd2 , 就相当于将fd2指向于s.fileno(),fileno()返回的是一个文件描述符,在这里也就是建立socket连接返回的文件描述符,打印出来数值为3
0代表标准输入、1代表标准输出、2代表标准错误输出、3代表重定向到远程
接下来使用os的subprocess在本地开启一个子进程 , 传入参数“-i”使bash以交互模式启动,标准输入、标准输出、标准错误输出又被重定向到了远程,这样的话就可以在远程执行输入命令了 。
需要php关闭safe_mode选项 , 才可以使用exec函数 。
使用php的exec函数执行方法1反弹shell的命令
使用php的fsockopen去反弹shell
exec反弹
perl反弹
ruby反弹
lua反弹
通过上述命令反弹shell得到的shell并不能称为完全交互的shell,通常称之为'哑'shell 。
通常存在以下缺点
因此有必要去获取一个完全交互的shell 。
1、在哑 shell 中执行python,使用pty模块,创建一个原生的终端,命令如下:
运行完后
2、键入 Ctrl-Z暂停任务,切回到 VPS 的命令行中;在 VPS 中执行:
3、在哑 shell 中执行 , 得到一个完全交互的shell,支持命令补全、历史命令查看、语法高亮、vim编辑等功能 。
部分防护设备会对内外网传输流量进行审查,反弹shell执行命令都是以明文进行传输的,很容易被查杀 。
因此需要将原始流量使用 openssl 加密 , 绕过流量审计设备 。
1、首先vps上生成SSL证书的公钥/私钥对,信息懒得填,一直回车即可 。
2、vps使用 OpenSSL 监听一个端口
3、目标主机执行反弹加密shell
反弹成功,成功接收到ssl流量加密的shell 。
linux操作系统的shell命令有哪些1 文件与目录操作命令
1.1文件内容查询命令 grep、fgrep、egrep
语法:grep[选项][查找模式][文件名1,文件名2,……]
选项:
-E 每个模式作为一个扩展的正则表达式对待
-F 每个模式作为一组固定字符串对待 , 而不作为正则表达式
-i 比较时不区分大小写
-l 显示首次匹配匹配串所在的文件名并用换行符将其分开 。当在文件中多次出现匹配串时,不重复显示次文件名;
-x 只显示整行严格匹配的行
1.2文件查找命令 find、locate
语法:
find 起始目录 寻找条件 操作以名称和文件属性查找
选项: -name‘字串‘ 查找文件名匹配所给字串的所有文件 , 字串内可用通配符*、?、[] 。
-lname‘字串‘ 查找文件名匹配所给字串的所有符号链接文件,字串内可用通配符*、?、[] 。
-gid n 查找属于ID号为n的用户组的所有文件 。
-uid n 查找属于ID号为n的用户的所有文件 。
-group‘字串‘ 查找属于用户组名为所给字串的所有的文件 。
-user‘字串‘ 查找属于用户名为所给字串的所有的文件 。
-path‘字串‘ 查找路径名匹配所给字串的所有文件,字串内可用通配符*、?、[] 。
-perm 权限 查找具有指定权限的文件和目录,权限的表示可以如711、644 。
-type x 查找类型为 x的文件,
语法:locate 相关字
1.3文件的复制、删除和移动命令 文件复制命令
[选项] 源文件或目录 目标文件或目录
选项:
- a 通常在拷贝目录时使用
-d 拷贝时保留连接
-f 删除已经存在的目标文件而不提示
-i 和f选项相反
-p 此时cp除复制源文件内容外,还将其修改的时间和访问权限也复制到新文件中
-r 若给出的源文件是一目录文件,此时cp将递归复制该目录下的所有的子目录和文件,此时目标文件必须为一个目录名;
-l 不作拷贝,只是链接文件文件移动命令
mv[选项] 源文件或目录 目标文件或目录
-i 交互式操作
-f 禁止交互式操作文件删除命令
[选项] 文件…
-f 忽略不存在的文件 , 从不给出提示
-r 指示rm将参数中列出的全部目录和子目录均递归地删除
-i 进行交互式删除 1.4文件链接命令
ln [选项] 目标 [链接名] 或 ln [选项] 目标 目录
选项:
- s 建立符号链接
1.5目录的创建和删除命令 mkdir 创建一个目录
语法: [选项] dirname
选项: - m 对新建目录设置存取权限
-p 可以是一个路径名称 。此时若路径中的某些目录尚不存在,加上此选项后 , 系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录 。
rmdir 删除空目录
语法: rmdir [选项] dirname
选项:
- p 递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除 。
1.6改变工作目录,显示目录内容命令
1、改变工作目录: cd [directory]
2、显示当前工作的目录的绝对路径: pwd
3、显示目录内容: ls [选项] [目录或是文件]
选项:
- a 显示指定目录下所有子目录与文件 , 包括隐藏文件;
-c 按照文件的修改时间排序
-C 分成多列显示各项
-d 如果参数是目录,只显示其名称而不显示其下的个文件
-F 在目录名后面标记“/”,可执行文件后面标记“*” , 符号链接后面标记“@” , 管道(或FIFO)后面标记“|”,socket文件后面标记“=” 。
-l 以长格式来显示文件的详细信息
-L 若指定的名称为一个符号链接 , 则显示链接所指向的文件
-t 显示时按修改时间而不是名字排序
-u 显示时按文件上次存取的时间而不是名字排序
4、改变文件或目录的访问权限命令chmod [who] [ | - | = ] [mode] 文件名?
Who选项:
- u表示用户,即文件和目录的所有者
-g表示同组用户
-o(other)表示其他用户
-a (all)表示所有用户
操作符号:添加某个权限 - 取消某个权限 = 赋予给定权限并取消其他所有的权限(如果有的话)
mode 选项:
- r 可读
-w 可写
-x 可执行 chgrp [-R] group filename? 改变目录或文件所属的组
chown [-Rv] 用户或组 文件
1.7备份与压缩命令
1、tar命令 为文件和目录创建档案语法:
tar [主选项 辅助选项] 文件或者目录 : u 主选项
-c 创建新的档案文件 。如果用户想备份一个目录或是一些文件,则选此项
-r 把要存档的文件追加到档案文件的末尾
-t 列出档案文件的内容,查看已经备份了哪些文件;
-u 更新文件
-x 从档案文件中释放文件;
-u 辅助选项
-b 该选项为磁带机设定的,其后跟一位数字 , 用来说明区块的大?。?系统预设值为20
-f 使用档案文件或设备,这个选项通常是必选的
-k 保存已经存在的文件 。例如把某个文件还原,在还原的过程中 , 遇到相同的文件,不会进行覆盖;
-m 在还原文件时,把所有文件的修改时间设定为现在;
-M 创建多卷的档案文件,以便在几个磁盘中存放;
-v 详细报告tar处理的文件信息
-w 每一步都要求确认
-z 用gzip来压缩/解压缩文件
2、gzip命令 压缩/解压缩命令
语法:gzip [选项] 压缩(解压缩)的文件名
选项:
-c 将输出写到标准输出上 , 并保留原有文件
-d 将压缩文件解压
-l 显示每个压缩文件的详细信息
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩
-t 测试、检查压缩文件是否完整
-v 对每一个压缩和解压的文件,显示文件名和压缩比
3、unzip 命令 用MS windows下的压缩软件winzip压缩的文件在linux系统下展开
语法:unzip [选项] 压缩文件名.zip
选项: -x 文件列表 解压缩文件,但不包括指定的file文件
-v 查看压缩文件目录,但不解压
-t 测试文件有无损坏 ,但不解压
-d 目录 将压缩文件解到指定目录下
-z 只显示压缩文件的注解
-n 不覆盖已经存在的文件
-o 覆盖已经存在的文件且不要求用户确认
-j 不重建文档的目录结构,把所有文件解压到同一目录下
1.8在LINUX环境下运行DOS命令 linux系统提供了一组称为mtools的可移植工具,可以让用户轻松地从标准的DOS软盘上读写文件和目录 。
mcd 目录名 改变MSDOS目录 mcopy 源文件 目标文件 在MSDOS和UNIX之间复制文件;
mdel 目录名 删除MSDOS目录 mdir 目录名 显示MSDOS目录 mformat 驱动器号 在低级格式化的软盘上创建MSDOS文件系统 rnlabel 驱动器号 产生MSDOS卷标 mmd 目录名 删除MSDOS目录 mren 源文件 目标文件 重新命名已存在的MSDOS文件 mtype 文件名 显示MSDOS文件的内容
2 设备管理命令
1)linux采用下面的形式定义一个IDE硬盘:/dev/hd[drive][partition]
2)SCSI硬盘使用同样的机制表示: /dev/sd[drive][partition]
3)对于一般的LINUX分区,可以用mkfs将其格式化并生成文件系统 , 命令如下: mk2fs –c ;
4)装载文件系统:
mount –t ext2 [-o optioms] partition mountpiont 其中,
-t为指定装载文件系统的类型;
-o指定一些选项,如只读ro,可读可写rw等等; partition定义分区名称; mountpiont定义文件系统被装载的目录名称 。
5)装载CD-ROM文件系统:mount –t iso9660 –r /dev/cdrom /mnt/cdrom
6)装载软驱文件系统: CODE:[Copy to clipboard]mount –t msdos –rw /dev/fd0 /dev/mnt/floppy
7)卸载文件系统 CODE:[Copy to clipboard]umount /mnt/cdrom 磁带设备的安装要注意以下几点:
1、 首先要选择一个唯一的SCSI ID号,然后再将设备链接到适当的位置
2、 选择驱动程序 。
3、 生成设备文件 。SCSI磁带设备的主要设备号是9,次要设备号是0 。设备文件名通常是/dev/nrst0(不支持回绕的磁带设备)或/dev/nst0(支持回绕的磁带设备) 用 ls /dev/*rst* 检查磁带设备文件是否存在 , 如果不存在,用 mknod –m 666 /dev/nrst0 c 9 9 mknod –m 666 /dev/rst0 c 9 0 生成
4、 可以对块长度、缓存、磁带密度等参数进行一些设置,例如 mt setblk 20 将块长度指定为20 mt setblk 0 指定块程度没有限制
5、 通过检查系统的启动信息可以确定系统是否识别了新的磁带设备 。用dmesg命令,查看是否有以下类似的信息: aha274x:target 4now synchronous at 4.4Mb/s Vendor:TANDBERG Model:TDC 3800 Rev: =05: Type: Sequential-Access ANSI SCSI revision: 02 Detected scsi tape st0 at scsi0, id4, lun0 Scsi : detected 1 SCSI tape 1 SCSI crom 1 SCSI disk total
3 软件包管理命令
3.1软件安装的步骤 在LINUX系统上安装软件的步骤有:
1、 查找所要安装软件的源文件
2、 把源文件解开放到一个目录中 , 命令如下: tar zxvf 源文件名;
3、 针对本操作系统配置源文件 。可以是编辑make文件或其他文件 , 也可能是运行该软件自带的自动配置工具 , 如./configure
4、 make源文件 , 通常是运行make命令 , 即执行 make
5、 安装二进制文件和其他支撑文件 , 运行命令: make install
6、 最后 , 完成所有其他必须的配置
3.2软件包管理命令 QUOTE: rpm –ivh 软件包; // 安装指定的软件包,并在安装过程中用#表示安装的进度 rpm –Uvh 软件包; // 更新一个已经存在的或还没安装好的软件包,并删除所有该软件包的旧版本 。rpm –e //卸载一个rpm软件包 rpm –qa // 查看系统中已经安装的软件包 rpm –q 软件包; // 查看系统中某个软件包的版本号; rpm –qlp 软件包; //列出某个软件包中的所有文件 rpm –qf 软件包; //找出一个文件属于哪个软件包
4 LINUX系统常用命令
4.1 与系统管理有关的命令 Wall (Write All)对全部已 登录的用户发送信息,用户可以先反要发送的信息写好存入一个文件中,然后输入: # wallFileName 例:Wall ‘Thank you !’ Write 向某一用户发送信息 。Write xxq hello 输入Ctrl C组合即可终止 Shutdown命令 Shutdown [选项] [时间] [警告信息]
-k 并不真正关机,而只是发出警告信息给所有的用户 。
-r 关机后立即重新启动 。
-h 关机后不重新启动 。
-f 快速关机 , 启动时跳过fsck 。
-n快速关机 , 不经过init程序 。
-c 取消一个已经运行的shutdown 例:系统马上关机:Shutdown –h now Free命令查看当前系统内存的使用情况,CODE:[Copy to clipboard]Free [-b] [-k] [-m] CODE:[Copy to clipboard]-b 以字节为单位显示 。
-k 以K字节为单位显示 。
-m 以M字节为单位显示 。Uptime QUOTE: 显示系统已经运行了多长的时间:现在时间、系统已经运行的时间、目前有多少登录用户、系统在过去的1分钟、5分钟和15分钟内的平均负载 。
4.2与用户有关的命令 Passwd命令设置、更换用户口令 。
Passwd [用户名] Su 使一个普通的用户具有超级用户的权利,离开可用EXIT命令 。4.3其它命令 Echo命令在显示器上显示一段文字,一般起到一个提示的作用 。
echo [-n] 字符串 Cal命令显示某年某月的日历 。
cal [选项] [月[年]]
选项的含义:
-j 显示也给定月中的每一天是一年中的和几天(从1月1日算起) 。
-y 显示也整年的日历 。Date命令 date命令的功能是显示和设置系统日期和时间 。4.4磁盘管理 磁盘空间管理 df命令检查文件系统的磁盘空间占用局部 。
Df [选项]
-a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统 。
-k 以K字节为单位显示 。
-i 显示i节点信息,而不是磁盘块 。
- t 显示各指定类型的文件系统的磁盘空间使用情况 。
-x 列出不是某一指定类型文件系统的磁盘窨使用情况(与t相反) 。
-T 显示文件系统类型 。du命令 du的英文原意为disk usage,含义为显示磁盘空间的使用情况 。功能是统计目录(或文件)所占磁盘空间的大小 。
du [选项] [Names…]
-s 对每人Names 参数只给也占用的数据块总数 。
-a 递归地显示指定目录中各文件用子孙目录中的各文件占用的数据块总数 。
-b 以字节为单位列也磁盘窨使用情部(缺省以K字节为单位)
-k 以1024字节为单位列也磁盘空间使用情况 。
-c 最后再加上一个总计(系统缺?。?
-l 计算所有的文件大?。杂擦唇游募? ,则计算多次 。
-x 跳过在不同文件系统上的目录不予统计 。dd命令把指定的输入文件拷贝到指定的输出文件中,并且在拷贝的过程中可以进行格式转换 。
语法: dd 〔选项〕if =输入文件(或设备名称) 。of =输出文件(或设备名称) 。ibs = bytes 一次读取bytes字节,即读入缓冲区的字节数 。skip = blocks 跳过读入缓冲区开头的ibs*blocks块 。obs = bytes 一次写入bytes字节,即写 入缓冲区的字节数 。bs = bytes 同时设置读/写缓冲区的字节数(等于设置obs和obs) 。cbs = bytes 一次转换bytes字节 。count = blocks 只拷贝输入的blocks块 。conv = ASCII 把EBCDIC码转换为ASCII码 。conv = ebcdic 把ASCII码转换为EBCDIC码 。conv = ibm 把ASCII码转换为alternate EBCDIC码 。conv = blick 把变动位转换成固定字符 。conv = ublock 把固定们转换成变动位 conv = ucase 把字母由小写变为大写 。conv = lcase 把字母由大写变为小写 。conv = notrunc 不截短输出文件 。conv = swab 交换每一对输入字节 。conv = noerror 出错时不停止处理 。conv = sync 把每个输入记录的大小都调到ibs的大?。ㄓ胕bs填充) 。fdformat命令低级格式化软盘 。
format [-n] device QUOTE: -n 格式化后不做检验
4.5常用的网络命令 FTP命令 Telnet命令 。
Netstat命令
-a 显示所有的scoket,包括正在监听和 。
-c 每隔1秒就重新显示一遍,直到用户中断它 。
-i 显示所有网络接口的信息,格式同”ifconfig –e”
-n 以网络IP地址代替名称,显示也网络连接情形 。
-r 显示核心路由表,格式同”route –e: 。
-t 显示TCP协议的连接情况 。
-u 显示UDP协议的连接情况 。
-v 显示正在进行的工作 。nslookup命令 。finger命令,功能是查询用户的信息 。ping命令 。(用户和组的管理可以使用工具:TurboUserCfg或是XturboUserCfg 。)
4.6有关进程的命令 。进程和启动 at [-V] [-q] [-f文件名] [-mldbv]时间 at –c 作业 [作业….] AT命令启动的进程系统只执行一次 。batch [-V] [-q 队列] [-f 文件名] [-mv] [时间] 在系统负载较小时,资源比较空闲时执行 。cron命令按一定的时间间隔执行命令 。crontab命令用于安装、删除或列出用于驱支cron后台进程的表格 。进程查看
who命令 。w命令是一个比who命令更强大的命令 w
–[husfV] [user] -h 不显示标题 。
-u 当列出当前进程和CPU时间时忽略用户名 。
-s 使用短模式 。不显示登录时间JCPU和PCPU时间 。
-f 切换显示FROM项,也就是远程主机名项 。
-V 显示版本信息 。user 只显示指定用户的情况 。ps命令 。
-e 显示所有进程 。
-f 全格式
-h 不显示标题 。
-l 长格式 。
-w 宽输出 。a 显示终端上所有进程,包括其他用户的进程 。r 只显示正在运行的进程 。x 显示没有控制终端的进程 。top 命令动态显示系统当前的进程和其他状况 。5系统的启动过程 。
linux常用的shell有哪些Linux系统的shell作为操作系统的外壳 , 为用户提供使用操作系统的接口 。它是命令语言、命令解释程序及程序设计语言 。
shell是用户和Linux内核之间的接口程序,如果把Linux内核想象成一个球体的中心,shell就是围绕内核的外层 。当从shell或其他程序向Linux传递命令时,内核会做出相应的反应 。
shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中的其他应用程序所调用 。用户在提示符下输入的命令都由shell先解释然后传给Linux核心 。
Linux常用的shell有哪些?
1、Bourne shell
Bourne shell是一个交换式的命令解释器和命令编程语言 。
Bourne shell是标准的UNIX shell,以前常被用来做为管理系统之用 。大部分的系统管理命令文件,例如rcstart、stop与shutdown都是Bourne shell的命令档,且在单一使用者模式下以root签入时它常被系统管理者使用 。Bourneshell是由AT$T发展的,以简洁、快速著名,Bourne shell提示符号的默认值是$ 。
2、C shell
C shell是一种比Bourneshell更适合的变种shell,使用的是类C语言,csh是具有C语言风格的一种shell,其内部命令有52个,比较庞大 。
C shell是柏克莱大学所开发的,且加入了一些新特性,如命令列历程、别名、内建算术、档名完成和工作控制 。对于常在交谈模式下执行shell的使用者而言,他们较喜欢用C
shell;但对于系统管理者而言,则较偏好以Bourne shell来做命令档 , 因为Bourne shell命令档比C shell命令档来的简单及快速 。C shell提示符号的默认值是% 。
3、korn shell
korn shell是一个Unix shell , 它由贝尔实验室的David Korn在二十世纪八十年代早期编写 。它完全向上兼容Bourne shell并包含了c shell的很多特性 , 例如贝尔实验室用户需要的命令编辑 。
Korn shell是Bourne shell的超集,由ATT的David korn所开发 。它增加了一些特色,比C shell更为先进 。Korn shell的特色包括了可编辑的历程、别名、函式、正则表达式万用字符、内建算术、工作控制、共作处理和特殊的除错功能 。Korn shell提示符号的默认值也是$ 。
【linux常用shell命令 linux常见shell命令】linux常用shell命令的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux常见shell命令、linux常用shell命令的信息别忘了在本站进行查找喔 。

    推荐阅读