入门级shell命令大全.docx
《入门级shell命令大全.docx》由会员分享,可在线阅读,更多相关《入门级shell命令大全.docx(10页珍藏版)》请在冰豆网上搜索。
入门级shell命令大全
入门级shell命令大全
相关文章推荐
相关系统安全命令资料(四)相关系统安全命令资料(三)相关系统安全命令资料
(二)相关系统安全命令资料
(一)UNIX系统常用管理命令资料汇总(UNIX系统常用管理命令资料汇总(系统内存管理命令详解入门级shell命令大全在Linux系统中RPM命令参数使用在Linux系统中RPM命令参数使用总结用来发送信息的系统命令系统备份常用命令汇总资料基本掌握系统打包命令使用技巧方便日常操作:
详细解析系统关机/yes其他命令
1.man对你熟悉或不熟悉的命令提供帮助解释
举例:
#manls//就可以查看ls相关的用法
注:
按q键或者ctrl+c退出,在linux下可以使用ctrl+c终止当前程序运行。
2.ls查看目录或者文件的属*,列举出任一目录下面的文件
举例:
ls/usr/man
或者ls-l
(1).d表示目录(directory),如果是一个"-"表示是文件,如果是l则表示是一个连接文件(link)
(2).表示文件或者目录许可权限.分别用可读(r),可写(w),可运行(x)。
3.cp拷贝文件
举例:
#cpfilename1filename2//把filename1拷贝成filename2
#cp1.cnetseek/2.c//将1.c拷到netseek目录下命名为2.c
4.rm删除文件和目录
举例:
#rm1.c//将1.c这个文件删除
5.mv移走目录或者改文件名
举例:
#mvfilename1filename2//将filename1改名为filename2
#mvqib.tgz../qib.tgz//移到上一级目录
6.cd改变当前目录pwd查看当前所在目录完整路径
举例:
#pwd//查看当前所在目录路径
#cdnetseek//进入netseek这个目录
#cd//退出当前目录
7.cat,more命令
将某个文件的内容显示出来。
两个命令所不同的是:
cat把文件内容一直打印出来,而more则分屏显示
举例:
#cat>1.c//就可以把代码粘帖到1.c文件里,按ctrl+d保存代码。
#cat1.c或more1.c//都可以查看里面的内容。
#gcc-o11.c//将1.c编译成.exe文件,我们可以用此命编译出代码。
8.chmod命令权限修改用法:
chmod一位8进制数filename。
举例:
#chmodu+xfilenmame//只想给自己运行,别人只能读
//u表示文件主人,g表示文件文件所在组。
o表示其他人;r表可读,w表可写,x表可以运行
#chmodg+xfilename//同组的人来执行
9.clear,date命令
#clear:
清屏,相当与DOS下的cls;date:
显示当前时间。
10.mount加载一个硬件设备
用法:
mount[参数]要加载的设备载入点
举例:
#mount/dev/cdrom
#cd/mnt/cdrom//进入光盘目录
11.su在不退出登陆的情况下,切换到另外一个人的身份
用法:
su-l用户名(如果用户名缺省,则切换到root状态)
举例:
#su-lnetseek(切换到netseek这个用户,将提示输入密码)
12.whoami,whereis,which,id
whoami:
确认自己身份
whereis:
查询命令所在目录以及帮助文档所在目录
which:
查询该命令所在目录(类似whereis)
id:
打印出自己的UID以及GID。
(UID:
用户身份唯一标识。
GID:
用户组身份唯一标识。
每一个用户只能有一个唯一的UID和GID)
举例:
#whoami//显示你自已登陆的用户名
#whereisbin显示bin所在的目录,将显示为:
/usr/local/bin
#whichbin
13.grep,find
grep:
文本内容搜索;find:
文件或者目录名以及权限属主等匹配搜索
举例:
#grepsuccess* /*查找当前目录下面所有文件里面含有success字符的文件
14.kill可以杀死某个正在进行或者已经是dest状态的进程
举例;#psax
15.passwd可以设置口令
16.history用户用过的命令
举例:
#history//可以显示用户过去使用的命令
17.!
!
执行最近一次的命令
18.mkdir命令
举例:
#mkdirnetseek//创建netseek这个目录
19.tar解压命令
举例:
#tar-zxvfnmap-3.45.tgz//将这个解压到nmap-3.45这个目录里.
compress压缩文件
使用方式:
compress[-dfvcV][-bmaxbits][file...]
说明:
compress是一个相当古老的unix档案压缩指令,压缩后的档案会加上一个.Z延伸档名以区别未压缩的档案,压缩后的档案可以以uncompress解压。
若要将数个档案压成一个压缩档,必须先将档案tar起来再压缩。
由于gzip可以产生更理想的压缩比例,一般人多已改用gzip为档案压缩工具。
参数:
c输出结果至标准输出设备(一般指荧幕)
f强迫写入档案,若目的档已经存在,则会被覆盖(force)
v将程序执行的讯息印在荧幕上(verbose)
b设定共同字串数的上限,以位元计算,可以设定的值为9至16bits。
由于值越大,能使用的共同字串就越多,压缩比例就越大,所以一般使用预设值16bits(bits)
d将压缩档解压缩
V列出版本讯息
范例:
将source.dat压缩成source.dat.Z,若source.dat.Z已经存在,内容则会被压缩档覆盖。
compress-fsource.dat
将source.dat压缩成source.dat.Z,并列印出压缩比例。
-v与-f可以一起使用
compress-vfsource.dat
将压缩后的资料输出后再导入target.dat.Z可以改变压缩档名。
compress-csource.dat>target.dat.Z
-b的值越大,压缩比例就越大,范围是9-16,预设值是16。
compress-b12source.dat
source.dat.Z文件被解压,并重命名为source.dat
uncompresssource.dat.Z
将source.dat.Z解压成source.dat,若档案已经存在,使用者按y以确定覆盖档案,若使用-df程序则会自动覆盖档案。
由于系统会自动加入.Z为延伸档名,所以source.dat会自动当作source.dat.Z处理。
compress-dsource.dat
compress-dsource.dat.Z
uncompressfoo.Zfoo.Z文件被解压,并重命名为foo。
20.finger可以让使用者查询一些其他使用者的资料
举例:
#finger//查看所用用户的使用资料
#fingerrooct//查看root的资料
Linux删除目录很简单,很多人还是习惯用rmdir,不过一旦目录非空,就陷入深深的苦恼之中。
直接rm就可以了,不过要加两个参数-rf即:
rm-rf目录名字
-r就是向下递归,管理有多少级目录,一并删除
-f就是直接强行删除,不作任何提示的意思
需要提醒的是:
使用这个rm-rf的时候一定要格外小心,linux没有回收站的
当然,rm还有更多的其他参数和用法,manrm就可以查看了
21、数据分拆:
split–l500000要分拆的文件名(分拆后的文件前缀,可省略)
例:
split-l500000t_qp_part_price.unlt_qp_part_price
1、引言
在linux系统下,如果你下载并安装了应用程序,很有可能在键入它的名称时出现“commandnotfound”的提示内容。
如果每次都到安装目标文件夹内,找到可执行文件来进行操作就太繁琐了。
这涉及到环境变量PATH的设置问题,而PATH的设置也是在linux下定制环境变量的一个组成部分。
本文基于RedHat9.0,详细讲解了环境变量定制的问题。
2、变量简介
Linux是一个多用户的操作系统。
每个用户登录系统后,都会有一个专用的运行环境。
通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。
用户可以对自己的运行环境进行定制,其方法就是修改相应的系统环境变量。
3、定制环境变量
环境变量是和Shell紧密相关的,用户登录系统后就启动了一个Shell。
对于Linux来说一般是bash,但也可以重新设定或切换到其它的Shell。
根据发行版本的情况,bash有两个基本的系统级配置文件:
/etc/bashrc和/etc/profile。
这些配置文件包含两组不同的变量:
shell变量和环境变量。
前者只是在特定的shell中固定(如bash),后者在不同shell中固定。
很明显,shell变量是局部的,而环境变量是全局的。
环境变量是通过Shell命令来设置的,设置好的环境变量又可以被所有当前用户所运行的程序所使用。
对于bash这个Shell程序来说,可以通过变量名来访问相应的环境变量,通过export来设置环境变量。
下面通过几个实例来说明。
3.1使用命令echo显示环境变量
--------------------------------------------------------------------------------
#本例使用echo显示常见的变量HOME
$echo$HOME
/home/lqm
--------------------------------------------------------------------------------
3.2设置一个新的环境变量
--------------------------------------------------------------------------------
$exportHELLO=“Hello!
”
$echo$HELLO
Hello!
--------------------------------------------------------------------------------
3.3使用env命令显示所有的环境变量
--------------------------------------------------------------------------------
$env
SSH_AGENT_PID=1875
HOSTNAME=lqm
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
……
--------------------------------------------------------------------------------
3.4 使用set命令显示所有本地定义的Shell变量
--------------------------------------------------------------------------------
$set
BASH=/bin/bash
……
--------------------------------------------------------------------------------
3.5 使用unset命令来清除环境变量
--------------------------------------------------------------------------------
$exportTEST=“test” #增加一个环境变量TEST
$env|grepTEST #此命令有输出,证明环境变量TEST已经存在了
TEST=test
$unset$TEST#删除环境变量TEST
$env|grepTEST #此命令无输出,证明环境变量TEST已经存在了
3.6 使用readonly命令设置只读变量
如果使用了readonly命令的话,变量就不可以被修改或清除了。
示例如下:
--------------------------------------------------------------------------------
$exportTEST="Test..." #增加一个环境变量TEST
$readonlyTEST#将环境变量TEST设为只读
$unsetTEST#会发现此变量不能被删除
-bash:
unset:
TEST:
cannotunset:
readonlyvariable
$TEST="New"#会发现此变量不能被修改
-bash:
TEST:
readonlyvariable
--------------------------------------------------------------------------------
3.7 用C程序来访问和设置环境变量
对于C程序的用户来说,可以使用下列三个函数来设置或访问一个环境变量。
getenv()访问一个环境变量。
输入参数是需要访问的变量名字,返回值是一个字符串。
如果所访问的环境变量不存在,则会返回NULL。
setenv()在程序里面设置某个环境变量的函数。
unsetenv()清除某个特定的环境变量的函数。
另外,还有一个指针变量environ,它指向的是包含所有的环境变量的一个列表。
下面的程序可以打印出当前运行环境里面的所有环境变量:
--------------------------------------------------------------------------------
#include
externchar**environ;
intmain()
{
char**var;
for(var=environ;*var!
=NULL;++var)
printf("%s\n",*var);
return0;
}
--------------------------------------------------------------------------------
3.8 通过修改环境变量定义文件来修改环境变量。
需要注意的是,一般情况下,这仅仅对于普通用户适用,避免修改根用户的环境定义文件,因为那样可能会造成潜在的危险。
--------------------------------------------------------------------------------
$cd#到用户根目录下
$ls-a #查看所有文件,包含隐藏的文件
$vi.bash_profile #修改环境变量定义文件
--------------------------------------------------------------------------------
然后编辑你的PATH声明,其格式为:
PATH=$PATH:
:
:
:
------:
你可以自己加上指定的路径,中间用冒号隔开。
环境变量更改后,在用户下次登陆时生效,如果想立刻生效,则可执行下面的语句:
$source.bash_profile
需要注意的是,最好不要把当前路径“./”放到PATH里,这样可能会受到意想不到的攻击。
完成后,可以通过$echo$PATH查看当前的搜索路径。
这样定制后,就可以避免频繁的启动位于shell搜索的路径之外的程序了。
4总结
通过以上的设置,你可以有一个比较方便有效的环境来提高你的工作效率了。
gzip命令
减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。
gzip是在Linux系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。
语法:
gzip[选项]压缩(解压缩)的文件名
各选项的含义:
-c将输出写到标准输出上,并保留原有文件。
-d将压缩文件解压。
-l对每个压缩文件,显示下列字段:
压缩文件的大小
未压缩文件的大小
压缩比
未压缩文件的名字
-r递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t测试,检查压缩文件是否完整。
-v对每一个压缩和解压的文件,显示文件名和压缩比。
-num用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。
系统缺省值为6。
假设一个目录/home下有文件mm.txt、sort.txt、。
例1:
把/home目录下的每个文件压缩成.gz文件。
$cd/home
$gzip*
$ls
m.txt.gzsort.txt.gz.gz
例2:
把例1中每个压缩的文件解压,并列出详细的信息。
$gzip-dv*
mm.txt.gz43.1%-----replacedwithmm.txt
sort.txt.gz43.1%-----replacedwithsort.txt
.gz43.1%-----replacedwith
$ls
mm.txtsort.txt
例3:
详细显示例1中每个压缩的文件的信息,并不解压。
$gzip-l*
compresseduncompr.ratiouncompressed_name
27744543.1%mm.txt
27844543.1%sort.txt
27744543.1%
$ls
mm.txt.gzsort.txt.gz.gz
例4:
压缩一个tar备份文件,如usr.tar,此时压缩文件的扩展名为.tar.gz
$gzipusr.tar
$ls
usr.tar.gz
unzip命令
用MSWindows下的压缩软件winzip压缩的文件如何在Linux系统下展开呢?
可以用unzip命令,该命令用于解扩展名为.zip的压缩文件。
语法:
unzip[选项]压缩文件名.zip
各选项的含义分别为:
-x文件列表解压缩文件,但不包括指定的file文件。
-v查看压缩文件目录,但不解压。
-t测试文件有无损坏,但不解压。
-d目录把压缩文件解到指定目录下。
-z只显示压缩文件的注解。
-n不覆盖已经存在的文件。
-o覆盖已存在的文件且不要求用户确认。
-j不重建文档的目录结构,把所有文件解压到同一目录下。
例1:
将压缩文件text.zip在当前目录下解压缩。
$unziptext.zip
例2:
将压缩文件text.zip在指定目录/tmp下解压缩,如果已有相同的文件存在,要求unzip命令不覆盖原先的文件。
$unzip-ntext.zip-d/tmp
例3:
查看压缩文件目录,但不解压。
$unzip-vtext.zip
zgrep命令
这个命令的功能是在压缩文件中寻找匹配的正则表达式,用法和grep命令一样,只不过操作的对象是压缩文件。
如果用户想看看在某个压缩文件中有没有某一句话,便可用zgrep命令。