重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
linux命令主体是固定的。软件测试第一个任务,一般都需要进行环境搭建,一部分环境搭建内容是在服务器上实现的,跟服务器交互(没有图形化页面),需要使用Linux命令。所有的软件在使用过程中所产生的数据,都要存储在数据库当中,而测试工作往往需要去校验数据库正确与否,因此需要学习数据库。
目前成都创新互联公司已为成百上千家的企业提供了网站建设、域名、网站空间、绵阳服务器托管、企业网站设计、郑州网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
摘要:Linux指令常用结构 :Command [-option] [argument]
Command:即是要运行的命令的本身,说白了就是一个程序;
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如ls -al);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择;
一、 Linux系统操作指令
1、开关机
2、查看系统信息
3、查看系统性能
4、查看磁盘指标
二、 Linux目录文件操作指令
1、目录文件
2、文件相关权限
3、文本处理
三、Linux用户权限操作指令
四、Linux压缩解压指令
五、Linux软件安装指令
1、alias 别名 系统别名的位置 ~/.bashrc
eg: alias cp='cp -i'
2、unlias 取消别名
3、arp 地址解析协议
-a 查看缓存表
-d 清除arp缓存表
-s 绑定IP与MAC地址
4、awk
-F 指定以什么为分割符
eg: awk '{print $1}' test.txt 打印第一列,默认以空格分隔
eg: awk -F ":" awk '{print $1 "" $2 "" $3}' test.txt
eg: awk '{if(NR19)printf $1 " "}' test.txt
5、basename 创建目录 dirname 递归创建目录
6、bash
-x 将执行的脚本内容及输出显示到屏幕上
-n 不执行脚本,检查语法是否有问题
本篇主题:详细学习介绍cat和cut命令
cat 是一个 文本文件****查看 和 连接 工具
语法结构:
$ cat [选项] [文件]
参数选项:
-A, --show-all 等价于 -vET
-b, --number-nonblank 对非空输出行编号
-e 等价于 -vE
-E, --show-ends 在每行结束处显示 $
-n, --number 对输出的所有行编号
-s, --squeeze-blank 不输出多行空行
-t 与 -vT 等价
-T, --show-tabs 将跳 字符显示为 ^I
-u (被忽略)
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
--help 显示此帮助信息并离开
Cat主要有以下2大功能:
1、一次显示(查看)整个文件,cat后面直接接文件名。
$ cat filename
比如以下,查看profile文件, -n参数是显示 行
[root@localhost ~]# cat /etc/profile 注:查看/etc/目录下的profile文件内容;
[root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
[root@localhost ~]# cat -n /etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
[root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加 $ 符号;
cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
[root@localhost ~]# cat -n /etc/profile
[root@localhost ~]# nl /etc/profile
cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
[root@localhost ~]# cat /etc/fstab /etc/profile
cat 对于内容极大的文件来说,可以通过管道 | 传送到more 工具,然后一页一页的查看;
[root@localhost ~]# cat /etc/fstab /etc/profile | more
2、cat 的创建、连接文件功能实例;
cat 有创建文件的功能,创建文件后,要以EOF或STOP结束;
[root@localhost ~]# cat linuxcat.txt EOF 注:创建linuxcat.txt文件;
如下图所示:
cat 还有向已存在的文件追加内容的功能;
[root@localhost ~]# cat linuxsir.txt EOF 注:我们向linuxcat.txt文件追加内容;
(注:这里发现被我写错了, EOF 写成了 OEF ,输出的时候要对应输出,咱不去究其原因)
cat 连接多个文件的内容并且输出到一个新文件中;
命令是:
[root@localhost ~]# cat name1 name2 name3 name4
注意: 其原理是把三个文件的内容连接起来,然后创建name4文件,并且把几个文件的内容同时写入name4中。 特别值得一提的是,如果您输入到一个已经存在的name4文件,会把name4内容清空。(****见文末例子****)
实例: 假设我们有sir01.txt、sir02.tx和sir03.txt ,并且内容如下;[root@localhost ~]# cat sir01.txt
123456
i am testing
[root@localhost ~]# cat sir02.txt
56789
BeiNan Tested
[root@localhost ~]# cat sir03.txt
09876
linuxsir.org testing
我想通过cat 把sir01.txt、sir02.txt及sir03.txt 三个文件连接在一起(也就是说把这三个文件的内容都接在一起)并输出到一个新的文件sir04.txt 中。
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt** **sir04.txt
[root@localhost ~]# **more **sir04.txt
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
cat 把一个或多个已存在的文件内容,追加到一个已存在的文件中
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
[root@localhost ~]# cat sir01.txt sir02.txt sir03.txt** **sir00.txt
[root@localhost ~]# cat sir00.txt
linuxsir.org forever
123456
i am testing
56789
BeiNan Tested
09876
linuxsir.org testing
警告:我们要知道********意思是创建,********是追加。千万不要弄混了。造成失误可不是闹着玩的;
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。
语法结构:
cut [-bn] [file] 或
cut [-c] [file] 或
cut [-df] [file]
选项参数:
-b :以 字节 为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
-c :以 字符 为单位进行分割。
-d : 自定义分隔符 ,默认为制表符。
-f :与-d一起使用,指定显示哪个区域。
-n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的br /范围之内,该字符将被写出;否则,该字符将被排除。
使用说明:
cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段写至标准输出。
如果不指定 File 参数,cut 命令将读取标准输入。必须指定 -b、-c 或 -f 标志之一。
上一篇中也说到cut的使用。
值得注意的是 '-' 表示的是一个区间, ‘,’ 表示的是单个字符
例子二: 以 ‘:’ 为分隔符,截取PATH环境变量第五个位置的字符
先来看看PATH变量存的内容是什么
[2013012974@teach shell]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/2013012974/bin
截取的结果:
从上面的例子中可以看出,以':'为分隔符,第五个位置是/usr/local/sbin
好了现在清晰了,****Cat**** 和****Cut****你学到了没有?学到了分享一下啊!
1.开机进入
---- Linux系统的开机同正常的DOS、Windows开关机顺序相同。若是多操作系统则在LILO boot:后输入Linux,就可进入Linux的注册提示符Login:,在其后输入用户名,在口令提示符password:输入口令,注册正确后,可进入相应的用户环境。如输入:root,及其密码,可进入超级用户环境#,输入其他用户名及口令,可进入该用户环境$。
---- 2.关机退出
---- 在超级用户提示符#下输入halt(立即关机)或shutdown time(延迟time分后关机,给各用户每隔一段时间发出还有多长时间将关机的警告)后,计算机将进行一系列的关机工作,最后出现System halt,就是关机结束,可以关闭电源了。非超级用户则需用exit退出操作环境,再进入超级用户环境,方可进行关机工作。
---- 3.命令操作注意事项
---- 在Linux中有一些与DOS不完全相同的地方,见下表:
DOS Linux
命令行字母 不区分大小写 区分大小写
提示符 #、$
路径分隔符 \ /
通配符 *、? *、?、[]
---- 在Linux系统中,超级用户的系统提示符是#,一般情况下普通用户的系统提示符是$,普通用户的系统提示符也同DOS一样可以进行更改。通配符中*与?的含义是一样的,[]是仅包括括号内的符号,连续的符号可用“-”连接首尾的符号代替,如[12345678]可以用[1-8]代替,[abcdefijk]可用[a-fi-j]表示。
---- 4.文件类型
---- 与DOS、Windows不同的是,在Linux系统中,目录和设备都被视为文件,共有四种文件类型,它们是:⑴普通文件,即我们通常所说的文件,在长列目录方式时行首前用一符号“-”表示。⑵目录文件,即我们通常所说的目录,在长列目录方式时行用首前用一字母“d”表示。⑶字符设备文件,如显示器、打印机、终端等,在长列目录方式时行首前用一字母 “c”表示。⑷块设备文件,如硬盘、软盘、光盘在长列目录方式时行首前用一字母“b”表示。
---- 在Linux中用长格式列目录命令ls -l时,如下例:
---- 文件类型
-rwxrw-r-- 5 user group 1089
Nov 18 1998 filename
存取权 用户 组名
字节数 最后修改时间 文件名
---- 大家对DOS下的8.3格式的文件名都一定很熟悉了,由于它的表达能力有限,所以在Windows95之后加入了长文件名支持,Linux继承了UNIX的优点,也可以用长长的一串字符作文件名。但是在Linux中文件类型可不像在DOS下那样容易从文件的扩展名上了解到,在DOS下的可执行文件的扩展名为com或exe,而在Linux中只能通过文件属性得知,采用命令ls –F可区分目录和文件,在目录后有“/”符号,可执行文件后有“*”符号,用ls –aF可见所有的文件和目录列出,包括隐藏的文件和目录,隐藏文件的文件名以点号“.”开头。
---- 5.读取权限
---- 在Linux中,文件的主人即所有者,其他使用者分别称为同组者、其他人,为保证各用户文件的安全,Linux同UNIX一样通过限制某些用户对文件的随意存取。共有三个级别的存取权:读权r、写权w、执行权x。在存取权中共有九个字符的位置其顺序是:所有者、同组人、其他人。在上例中分别表示:主人对文件拥有读写权和执行权,同组人对文件拥有读写权、其他人对文件只拥有读权。
---- 6.获取在线帮助命令
---- 在Linux中有一条专门用于取得在线帮助的命令man ,其使用方式为# man command。man有一套它自己的命令,通常由单个键组成,按空格键和F键将翻到下一页,按B键翻到上一页,按Q键退出man工具,回到命令行。掌握了以上的基础知识,结合熟知的DOS命令进行比较,对于学习Linux的基本命令就可以很快地运用自如,为进一步深入学习Linux打下深厚的基础.。
---- 二、文件管理和目录操作
---- 与DOS、Windows一样,在Linux中也有许多关于文件管理和目录操作方面的命令,对二者的主要命令列表如下:
---- 1.文件管理
功能 DOS Linux 注意事项
显示文件内容 type、more cat 、more type、cat
是全部显示,more是分页显示
打印文件 print lpr
拷贝文件 copy cp
移动文件及改名 move mv
删除文件 del, erase rm
---- 2.目录操作
功能 DOS Linux 注意事项
列目录及文件 dir/选项 ls –选项
在Linux中cd/直接返回登录时的目录而不是根目录,
显示工作目录 cd pwd
变更工作目录 cd\目录 cd/目录
建立目录 md,mkdir mkdir
删除目录 rd,rmdir rmdir
目录更名 move mv
拷贝目录 xcopy copy
---- 在二者中,命令的格式都是一样的,只是选项、参数不相同而已,也可以进行组合操作,具体运用时可使用帮助命令,只不过Linux的命令的功能更为强大,据记载DOS中的不少命令都是借鉴UNIX而来的,而Linux正是居于UNIX发展起来的,这也是二者有着几乎相同的命令和格式的原因之一。
---- 三、软、硬盘及光驱的使用
---- 1.软、硬盘及光驱的使用
---- 在Linux中对其他硬盘逻辑分区、软盘,光盘的使用与我们通常在DOS与Windows中的使用方法是不一样的,不能直接访问,因为在Linux中它们都被视为文件,因此在访问使用前必须使用装载命令mount将它们装载到系统的/mnt目录中来,使用结束,必须进行卸载。命令格式如下:
mount –t 文件系统类型 设备名 装载目录
文件类型常用的有:
msdos dos分区文件
ext2 Linux的文件系统
swap Linux swap分区或swap文件
iso9660 安装CD-ROM的文件系统
vfat 支持长文件名的dos分区
hpfs OS/2分区文件系统
---- 设备名是指要装载的设备的名称,如软盘、硬盘、光盘等,软盘一般为/dev/fd0 fd1,硬盘一般为/dev/hda hdb ,硬盘逻辑分区一般为期hda1 hda2…等等,光盘一般为/dev/hdc。在装载前一般要在/dev/mnt目录下建立一个空的目录,如软盘为floppy,硬盘分区为其盘符如c、d等等,光盘为cd-rom,使用命令:
mount –t msdos /dev/fd0 /mnt/floppy
装载一个mddos格式的软盘
mount –t ext2 /dev/fd0 /mnt/floppy
装载一个Linux格式的软盘
mount –t vfat /dev/hda1 /mnt/c
装载Windows98格式的硬盘分区
mount –t iso9660 /dev/hdc /mnt/cd-rom
装载一个光盘
---- 装载完成之后便可对该目录进行操作,在使用新的软盘及光盘前必须退出该目录,使用卸载命令进行卸载,方可使用新的软盘及光盘,否则系统不会承认该软盘的,光盘在卸载前是不能用光驱面板前的弹出键退出的。
---- 2.格式化命令mkfs
---- 格式化软盘时不需事先安装空盘,只需将软盘放入软驱中,使用如下命令,便可格式化一张在Linux中使用的软盘:
#mkfs –t ext2 /dev/fd0 1440
---- 在熟悉以上基本命令之后,就可以进行其他命令的进一步学习,例如:文件编辑软件vi,存取权限的修改,检查修复文件系统,增减用户及修改密码,安装其他Linux文件,及一些Linux的实用工具软件,建立x-Windows图形界面,利用Linux上网等等,来增加对Linux的感性认识。
linux基本命令:(其他的太多了,自己去百度吧)
ls:
-l:显示详细信息
-a:显示隐藏文件和其他所有文件(以.开头的为隐藏文件)
-t:安时间排序
-h:以KB MB 等单位显示
-d:只列出目录名,不列出其他内容
-R:递归显示所有目录及子目录
-lath:选项可以合并
pwd:显示当前所在位置
cd:转换目录
cd ..:返回上一级目录
cd -:回到上一次操作的目录
mkdir: 建目录
-v:显示所建目录,相同可用{}:mkdir -v dir{1,2,3}
-p:创建多级目录
rmdir:删除空目录
rm:删除
-f:强制删除无提示
-r:可删除目录
mv:移动 重命名
touch:建立空文件
file:验证文件或目录的类型
cp:复制,粘贴 (copy)改名
cp 原文件 目标文件
-r:可复制目录
ssh 192.168.1.33 远程登录
跨机拷贝:scp -r /root/Server/ 192.168.1.253:/dcw
man 命令:帮助
alias:查看是否有别名
去掉别名用完整路径
eg:
#which cp
#/bin/cp a.text b.text 或 \cp a.text b.text
或 在 /root/.bashrc 中去掉#alias cp='cp -i',后#unalias cp
查看某文件前4行内容并显示文件路径和文件名
[/usr/local/nagios]#ls /etc/vsftpd/vsftpd.conf head -n 4 /etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd.conf
# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
linux tee 命令详解
功能说明:读取标准输入的数据,并将其内容输出成文件。
语法:tee [-ai][--help][--version][文件...]
补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。
参数:
-a或--append 附加到既有文件的后面,而非覆盖它.
-i-i或--ignore-interrupts 忽略中断信号。
--help 在线帮助。
--version 显示版本信息。
cat /etc/sysconfig/network
-n:查看行号信息
more:空格翻页 回车换行
less:上下键翻页 可以反复看(可以回翻页)
head:显示前几行
head -5 install.log 显示前5行
tail:显示后几行
tail -f 动态更新
grep:查看文件中包含关键字的一行
#grep --color=tty dump intstall.log 彩色显示
正则表达式:^root 以root为开头(^)
root$,以root结尾($)
-v:不包括的几行(取反)
grep -n -v ^# /etc/vsftpd/vsftpd.conf
:r /root/install.log 追加读入一个文件
:e 读入文件
:e! 重新读入
:q 不保存 :q!强制退出
:w 保存 :qw保存退出 :wq! 强制保存退出
在未写入状态时:
h 左 k 上 j下 l 右
shift+4($) 光标移到行尾 shift+6(^) 光标移到行头
:50 来到50行
#vim /root/install.log +50(n)来到50行
:set nu 显示行号
:set nonu 取消行号
shift+g 来到行尾
n(无显示)+G:直接来到n行
shift+a:自动来到行尾输入
:50,100 w bb.txt 保存50到100行的内容到bb.txt中
r :替换单个字符 R:替换全行
shift+o:向上插入 o:向下插入
yy 复制 p 粘贴
(n)2yy 复制前两行
y^:复制从光标位置到开头 y$:复制从光标位置到结尾
d:剪贴一行
dd:剪贴两行
ndd:多行
d^:剪贴到开头 d$:剪贴到结尾
:g/^$/d 去掉空行
:g/^\s*$/d 去空格
向左移动25个字符:25+l
:/ 查找 自上而下
:? 查找自下而上
n 下一个
替换:
:s/old/new 把旧的换为新的 单个
:s/old/new/g 整行替换
:%s/old/new/g 整个文件替换
:%s/old/new/gc 整个文件替换并询问
u:替换上次命令
ctrl+r 重做
ctrl+^ 两个切换
打开多个文件
vim a.txt b.txt c.txt
:args 可选
:next
:prev
:last
vim diff a.txt b.txt
ctrl+w+w 跳到第二个文件
:wqa
使用vimtutor工具联系vim使用。
vimtutor工具使用方法:
vimtutor zh
如果出现乱马,使用下面命令解决(只能执行一次)
cd /usr/share/vim/vim70/tutor
mv tutor.zh.euc tutor.zh.euc.bak
iconv -f gb2312 -t utf-8 tutor.zh.euc.bak tutor.zh.euc
vimtutor zh
locate :空间换时间
updatedb
locate passwd
find [路径] [参数] [表达式]
find /usr/share/doc -name filename
-user:根据文件拥有者寻找文件
-group:根据文件所属组寻找文件
-name:根据文件名寻找文件
-perm:根据文件权限寻找
-size:根据文件大小寻找
-type:根据文件类型寻找文件,参数对应c b l f d
find 的表达式使用通配符时需要使用“”圈界
find 目录 条件 条件
[root@localhost ~]# find / -name "pass*"
当前目录:.
find . -name "*ss*"
find . -type f(文件)
find . -type d(目录)
[root@localhost ~]# find . -nouser(文件无属主)
[root@localhost ~]# find . -nogroup(文件无属组)
[root@localhost ~]# find /home/ -user/group user1
-exec
[root@localhost ~]# find . -nouser -exec rm {} \;
{}代表文件和目录
\转义字符
-ok
find . -nogroup -ok rm -rf {} \;有提示删除
[root@localhost ~]# stat a
File: “a”
Size: 0 Blocks: 0 IO Block: 4096 一般空文件
Device: 803h/2051d Inode: 261796 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2011-04-02 14:23:25.000000000 +0800(创建时间:-atime)
Modify: 2011-04-02 14:23:25.000000000 +0800(修改时间:-mtime)
Change: 2011-04-02 14:23:25.000000000 +0800(改变属组属主会变:-ctime)
find /root -mtime -5(5天以内) 5(5天时) +5(5天前)
find . -perm 400:要求权限全部匹配,精确匹配
find . -perm +600(wr):有w,r中任意权限的都会列出,即会列出200 400 600 的权限
find . -perm -600 :要求权限完全满足 权限大于等于600
-name -type
-name -user
-perm -type
-nouser
-nogroup
-mtime
-exec
-ok
-rgex(正则表达式)