扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随学习啦小编一起来学习下Linux系统中如何使用test命令吧。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、小程序制作、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了监利免费建站欢迎大家使用!
1.判断一个命令的结果使用test,其返回0,或一个整数。返回0表示true,返回整数表示错误码
2.获取上一个命令的返回结果使用$?
3.例如
我的服务器上面存在/home/www这样一个文件夹,所以ls /home/www这个命令的返回结果为0;
即echo $?的返回值为0
我的服务器上面不存在/home/kkk这样一个文件夹,所以ls /home/kkk这个命令的返回结果为这个命令执行后的错误码;
9b1fbcaf2efa8f872d1e0fea7481e019.png
即echo $?的返回结果为2。这个2表示文件或文件夹不存在。
4.常用的文件测试符
-e表示此文件名是否存在
-f表示此文件名是否是文件
-d表示此文件名是否是文件夹
-r表示此文件名是否可读
-w表示此文件是否可写
-x表示此文件是否可执行
-S表示此文件是否问socket
4.1在我的服务器上/home/www为一个文件夹
所以test -e /home/www的结果为0,即true,此文件名存在
所以test -f /home/www 的结果不为0,即false,此文件名不为文件
所以test -d /home/www的结果为0,即为true,此文件名为文件夹
4.2在我的服务器上/home/kkk这个文件名不存在
所以test -e /home/kkk的结果不为0,即false,此文件名不存在
所以test -d /home/kkk的结果不为0,即false,此文件名不问文件夹。
上面就是Linux逻辑命令之test命令的使用方法介绍了,如果你要判断一个条件是否成立,就会用过该命令,你学会了吗?
文章知识点与官方知识档案匹配
CS入门技能树Linux进阶新增用户
24650 人正在系统学习中
打开CSDN APP,看更多技术内容
shell语法中的test命令详解
test命令用法。功能:检查文件和比较值 1)判断表达式 if test (表达式为真) if test !表达式为假 test 表达式1 –a 表达式2 两个表达式都为真 test 表达式1 –o 表达式2 两个表达式有一个为真 2)判断字符串 test –n 字...
继续访问
linux期末vi简答题,Linux操作系统期末练习题lym
71.进程可以忽略大部分信号,但下列信号中()不能忽略 A.SIGBORT B.SIGILL C.SIGQUIT D.SIGKILL72.调用exec函数会将原来设置为要捕获的信号都更改为() A. 默认 B.忽略 C.另一捕获 D.默认或忽略 73.可用于在不同主机的进程间通信的技术是() A. 管道 B.共享内存 C.消息队列 D.套接字 74.只能在...
继续访问
linux命令test功能,linux利用test命令的测试功能
当要检测系统上的某些文件或者相关属性时,利用test这个命令来工作:测试的标志代表意义-e该文件名是否存在-f该文件名是否存在且为文件-d该文件名是否存在且为目录-b该文件名是否存在且为一个block device设备-c该文件名是否存在且为一个character device设备-S该文件名是否存在且为一个Socket文件-p该文件名是否存在且为一个FIFO文件-L该文件名是否存在且为一个连接文...
继续访问
热门推荐 Linux shell 的 test 命令用法详解
基本格式: test expression expression为test命令构造的表达式。 这里expression是test命令可以理解的任何有效表达式,该简化格式将是读者可能会踫见的最常用格式 返回值: test命令或者返回0(真) 或者返回1(假). test可理解的表达式类型分为四类: 表达式判断 字符串比较 数字比较 文件比较 1)判断表达
继续访问
linux shell 条件测试
1.文件条件测试 -r 可读 -w 可写 -x 可执行 ...
继续访问
test
test命令编程开发test命令是shell环境中测试条件表达式的实用工具。语法test(选项)选项-b文件:如果文件为一个块特殊文件,则为真; -c文件:如果文件为一个字符特殊文件,则为真; -d文件:如果文件为一个目录,则为真; -e文件:如果文件存在,则为真; -f文件:如果文件为一个普通文...
继续访问
linux 测试 命令大全,linux命令大全之-test测试命令
格式:test 测试条件字符串测试:注意空格:test str1 == str2 测试字符串是否相等test str1 != str2 测试字符串是否不相等test str1 测试字符串是否不为空test -n str1 测试字符串是否不为空test -z str1 测试字符串是否为空整数测试test int1 -eq int2 测试整数是否相等test int1 -ge int2 测试int1是...
继续访问
linux test 命令,Linuxtest命令、test命令
Linux中的test命令test命令可以检测一个文件或者目录是否存在,或者对一个文件或目录的读写权限等等常见语法test -选项 文件或目录-e 文件名是否存在,存在$?返回0也就是true-f 文件名是否存在,且为文件 存在$?返回0-d 文件名是否存在,且为目录 存在$?返回0-L 文件名是否存在,且为链接文件 存在$?返回0-r -w -x 这三个是单选项,文件名是否存在,并且具有可读...
继续访问
shell test 命令
shell test 命令
继续访问
linux中test命令详解
linux中test命令详解,包含test的多种实用方法
继续访问
[Linux]:Linux shell 的 test 命令用法详解
基本格式: test expression expression为test命令构造的表达式。 这里expression是test命令可以理解的任何有效表达式,该简化格式将是读者可能会踫见的最常用格式 返回值: test命令或者返回0(真) 或者返回1(假). test
继续访问
linux test -e ps,test
1、Linux如何挂载windows下的共享目录?mount.cifs //IP地址/server /mnt/server -o user=administrator,password=123456linux 下的server需要自己手动建一个 后面的user与pass 是windows主机的账号和密码 注意空格 和逗号2、如何查看http的并发请求数与其TCP连接状态?netstat -n | ...
继续访问
linux之test命令详解
linux之test命令详解 test作用检查某个条件是否成立,返回值为0(真)或者其他值(假),可通过echo $?查看返回值,也常用于循环和条件语句。 test一般有三种用法: 测试文件或者文件夹 字符串比较 数值比较 1.测试文件或者文件夹 参数 说明 -e 当路径存在时返回真 -f 当路径存在且为文件时返回真 -d 当路径存在且为文件夹时返回真 [root@linuxforliuhj test]# ll total 20 -rw-r--r--. 1 root root
继续访问
最新发布 linux test命令
继续访问
linux test命令测试标志
test命令测试标志
继续访问
linux test 使用方法,Linux系统test命令使用方法介绍
Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随小编一起来学习下Linux系统中如何使用test命令吧。1.判断一个命令的结果使用test,其返回0,或一个整数。返回0表示true,返回整数表示错误码2.获取上一个命令的返回结果使用$?3.例如我的服务器上面存在/home/www这样一个文件夹,所以ls /home/www这个命令...
继续访问
linux shell编程学习--test测试比较命令
本文介绍了linux shell自带test命令的各种用法。在linux shell编程过程中,如何使用test命令进行算术比较,文件属性,文件修改,字符串比较,以及逻辑表达式运算的操作。
继续访问
linux shell test 命令
Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。 1.数值比较 参数 说明 -eq 等于则为真 -ne 不等于则为真 -gt 大于则为真 -ge 大于等于则为真 -lt 小于则为真 -le 小于等于则为真 举例: num1=100 num2=1...
继续访问
linux shell 字符比较与数值比较,bash的调试
test命令用法。功能:检查文件和比较值1)判断表达式if test (表达式为真)if test !表达式为假test 表达式1 –a 表达式2 两个表达式都为真test 表达式1 –o 表达式2
继续访问
linux中test的用法
写评论
评论
1 usermod user1 -g guest
passwd user1 根据提示输入密码123456
userdel -r student1
2
adduser.sh 内容:
while read line
do
name=$line
useradd $name
echo $name | passwd --stdin $name
done user.txt
user.txt
zhangsan
lisi
wangwu
[root@localhost baidu]# sh -x adduser.sh
+ read line
+ name=zhangsan
+ useradd zhangsan
+ echo zhangsan
+ passwd --stdin zhangsan
Changing password for user zhangsan.
passwd: all authentication tokens updated successfully.
+ read line
+ name=lisi
+ useradd lisi
+ echo lisi
+ passwd --stdin lisi
Changing password for user lisi.
passwd: all authentication tokens updated successfully.
+ read line
+ name=wangwu
+ useradd wangwu
+ echo wangwu
+ passwd --stdin wangwu
Changing password for user wangwu.
passwd: all authentication tokens updated successfully.
+ read line
上面提示用户都已创建成功。
3
先挂载光盘,装包
rpm -ivh /misc/cd/Server/vsftpd* --force
查看已安装的指定包
rpm -qa |grep vsftpd
启动ftp服务
service vsftpd restat
加入启动项
chkconfig vsftpd on
一、简答题
1.如何将本地80端口的请求转发到8080端口,当前主机IP为192.168.16.1,其中本地网卡eth0:
答:# iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080
或 者:# iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
2.什么是NAT,常见分为那几种,DNAT与SNAT有什么不同,应用事例有那些?
SNAT,DNAT,MASQUERADE都是NAT。
MASQUERADE是SNAT的一个特例。
SNAT是指在数据包从网卡发送出去的时候,把数据包中的源地址部分替换为指定的IP,这样,接收方就认为数据包的来源是被替换的那个IP的主机。
MASQUERADE是用发送数据的网卡上的IP来替换源IP,因此,对于那些IP不固定的场合,比如拨号网络或者通过dhcp分配IP的情况下,就得用MASQUERADE。
DNAT,就是指数据包从网卡发送出去的时候,修改数据包中的目的IP,表现为如果你想访问A,可是因为网关做了DNAT,把所有访问A的数据包的目的IP全部修改为B,那么,你实际上访问的是B
因为,路由是按照目的地址来选择的,因此,DNAT是在PREROUTING链上来进行的,而SNAT是在数据包发送出去的时候才进行,因此是在POSTROUTING链上进行的。
3.包过滤防火墙与代理应用防火墙有什么区别,能列举几种相应的产品吗?
4.iptables是否支持time时间控制用户行为,如有请写出具体操作步骤。
5.说出你知道的几种linux/unix发行版本。
Redhat、CentOS、Fedora、SuSE、Slackware、Gentoo、Debian、Ubuntu、FreeBSD、Solaris、SCO、AIX、HP…
6.列出linux常见打包工具并写相应解压缩参数(至少三种)
7.计划每星期天早8点服务器定时重启,如何实现?
8.列出作为完整邮件系统的软件,至少二类。
9,当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注:本机跟本地dns还没有缓存。
答:
a.用户输入网址到浏览器;
b.浏览器发出DNS请求信息;
c.计算机首先查询本机HOST文件,看是否存在,存在直接返回结果,不存在,继续下一步;
d.计算机按照本地DNS的顺序,向合法dns服务器查询IP结果;
e.合法dns返回dns结果给本地dns,本地dns并缓存本结果,直到TTL过期,才再次查询此结果;
f.返回IP结果给浏览器;
g.浏览器根据IP信息,获取页面;
10,我们都知道,dns既采用了tcp协议,又采用了udp协议,什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?
答:这个题需要理解的东西比较的多,分一下几个方面
a,从数据包大小上分:UDP的最大包长度是65507个字节,响应dns查询的时候数据包长度超过512个字节,而返回的只要前512个字节,这时名字 解释器通常使用TCP从发原来的请求。
b,从协议本身来分:大部分的情况下使用UDP协议,大家都知道UDP协议是一种不可靠的协议,dns不像其它的使用UDP的Internet应用 (如:TFTP,BOOTP和SNMP等),大部分集中在局域网,dns查询和响应需要经过广域网,分组丢失和往返时间的不确定性在广域网比局域网上更 大,这就要求dns客户端需要好的重传和超时算法,这时候使用TCP。
11,一个EXT3的文件分区,当使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df -h命令查看磁盘大小时,只使用了,60%的磁盘空间,为什么会出现这个情况,说说你的理由。
答:两种情况,一种是磁盘配额问题,另外一种就是EXT3文件系统的设计不适合很多小文件跟大文件的一种文件格式,出现很多小文件时,容易导致inode 耗尽了。
12,我们都知道FTP协议有两种工作模式,说说它们的大概的一个工作流程?
FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)
在主动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,然后开放N+1号端口进行监听,并向服务器发出PORT N+1命令。
服务器接收到命令后,会用其本地的FTP数据端口(通常是20)来连接客户端指定的端口N+1,进行数据传输。
在被动模式下,FTP客户端随机开启一个大于1024的端口N向服务器的21号端口发起连接,同时会开启N+1号端口。然后向服务器发送PASV命令,通 知服务器自己处于被动模式。服务器收到命令后,会开放一个大于1024的端口P进行监听,然后用PORT P命令通知客户端,自己的数据端口是P。客户端收到命令后,会通过N+1号端口连接服务器的端口P,然后在两个端口之间进行数据传输。
总的来说,主动模式的FTP是指服务器主动连接客户端的数据端口,被动模式的.FTP是指服务器被动地等待客户端连接自己的数据端口。
被动模式的FTP通常用在处于防火墙之后的FTP客户访问外界FTp服务器的情况,因为在这种情况下,防火墙通常配置为不允许外界访问防火墙之后主机,而只允许由防火墙之后的主机发起的连接请求通过。
因此,在这种情况下不能使用主动模式的FTP传输,而被动模式的FTP可以良好的工作。
13.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
Q:主要是考察awk 这些的用法
#/bin/sh
#Programm :
# Using for move currently directory to /tmp
for FileName in `ls -l |awk ‘$510240 {print $9}’`
do
mv $FileName /tmp
done
ls -la /tmp
echo “Done! ”
14.apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
apache主要有两种工作模式:prefork(apache的默认安装模式)和worker(可以在编译的时候加参数–with-mpm- worker选择工作模式)
1.用户名@主机名 当前目录
2.执行ls -al 详细的且显示隐藏文件的列表显示
3.命令模式(Command mode):
Esc键进入vi命令模式;移动光标,删除等。操作不对,vi会响铃报警。
文本输入模式(Insert mode):
命令模式下输入插入命令i、附加命令a 、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式。在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上。在文本输入过程中,若想回到命令模式下,按Esc键即可。
末行模式(Line mode):
命令模式下 “:”键进入末行模式,此时vi会在显示窗口的最后一行显示一个“:”作为末行模式的提示符,等待用户输入命令。多数对文件操的作命令都是在此模式下执行的(如查找、替换文本中的某个字符串)。末行命令执行完后,vi自动回到命令模式。
4.Linux下的用户可以分为三类:超级用户、系统用户和普通用户。超级用户的用户名为root,它具有一切权限,只有进行系统维护(例如建立用户等)或其他必要情形下才用超级用户登录,以避免系统出现安全问题。系统用户是Linux系统正常工作所必需的内建的用户,主要是为了满足相应的系统进程对文件属主的要求而建立的,系统用户不能用来登录,如bin、daemon、adm、lp等用户。
而普通用户是为了让使用者能够使用Linux系统资源而建立的,我们的大多数用户属于此类。每个用户都有一个数值,称为UID。超级用户的UID为0,系统用户的UID一般为1~499,普通用户的UID为500~60000之间的值。
5.uid,gid,用户目录,私有组,所属组,登陆的shell
6.改变/etc/passwd /etc/shadow /etc/group /etc/gshadow /home/所添加的用户名
7.不需要。root是超级管理员,拥有最高权限。
8.硬链接 只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为 inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。
符号链接 是一个指针,指向文件在文件系统中的位置。符号链接可以跨文件系统,甚至可以指向远程文件系统中的文件。符号链接只是指明了原始文件的位置,用户需要对原始文件的位置有访问权限才可以使用链接。如果原始文件被删除,所有指向它的符号链接也就都被破坏了。它们会指向文件系统中并不存在的一个位置。两种链接都可以通过命令 ln 来创建。ln 默认创建的是硬链接。使用 -s 开关可以创建符号链接。
9. *.bz2 使用 bzip2 压缩的文件
*.gz 使用 gzip 压缩的文件
*.tar 使用 tar 打包的文件
*.tar.bz 用 tar 和 bzip 压缩的文件
*.tar.gz 用 tar 和 gzip 压缩的文件
10.eth0对应网卡。ppp0对应ADSL设备
11.域名解析 相当于DNS。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流