命令alias,grep,find

1、定义一个对所有用户都生效的命令别名 ,例如:lftp=‘lftp 172.168.0.1/pub’

[root@localhost ~]# tail -1 /etc/bashrc 
alias lftp='lftp 172.168.0.1/pub'
[root@localhost ~]# alias 
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias lftp='lftp 172.168.0.1/pub'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias rm='rm -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

2、显示/etc/passwd文件中不以/bin/bash结尾的行

[root@localhost ~]# grep -v /bin/bash$ /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:996:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin

3、找出/etc/passwd文件中,包含二位数字或者三位数字的行

[root@localhost ~]# grep "\<[[:digit:]]\{2,3\}\>" /etc/passwd
[root@localhost ~]# grep "/<[[:digit:]]\{2,3\}/>" /etc/passwd

4、显示/proc/meminfo文件中心大写或小写S开头的行;用三种方式实现。

[root@localhost ~]# grep -i "^s" /proc/meminfo 
[root@localhost ~]# egrep "^[sS]" /proc/meminfo 
[root@localhost ~]# egrep "^(s|S)" /proc/meminfo 

## 5、使用echo输出一个绝对路径,使用egrep取出路径,类型执行dirname /etc/passwd的结果

[root@localhost ~]# echo /etc/sysconfig/network |grep -E -o "^/.*/"
/etc/sysconfig/

6、找出ifconfig中的ip地址。要求结果只显示ip地址。

[root@localhost ~]#ifconfig |grep inet|cut -d ' ' -f10|head -1

7、vim定制自动缩进四个字符

[root@localhost ~]# tail -1 /etc/vimrc 
set ts=4

8、编写脚本,实现自动添加三个用户,并计算这三个用户的uid之和。

[root@localhost scripts]# ./sum.sh z b c
3021
[root@localhost scripts]# cat sum.sh 
#!/bin/bash
#
user1=$(id $1 &> /dev/null || useradd $1)
user2=$(id $2 &> /dev/null || useradd $2)
user3=$(id $3 &> /dev/null || useradd $3)
userid1=$(id $1 -u)
userid2=$(id $2 -u)
userid3=$(id $3 -u)

echo $[$userid1 + $userid2 + $userid3]

9、find用法以及常用用法的实例演示。

find:
实时查找工具,通过遍历指定起始路径下文件系统层级结构完成文件查找;

工作特性:
	查找速度略慢;
	精确查找;
	实时查找;
	
用法:
	find [OPTIONS]  [查找起始路径]  [查找条件]  [处理动作]
	
		查找起始路径:指定具体搜索目标起始路径;默认为当前目录;
		查找条件:指定的查找标准,可以根据文件名、大小、类型、从属关系、权限等等标准进行;默认为找出指定路径下的所有文件;
		处理动作:对符合查找条件的文件做出的操作,例如删除等操作;默认为输出至标准输出;
		
	查找条件:
		表达式:选项和测试
		
		测试:结果通常为布尔型("true", "false")
			
			根据文件名查找:
				-name  "pattern"
				-iname "pattern"
					支持glob风格的通配符;
						*, ?, [], [^]
						
				-regex pattern:基于正则表达式模式查找文件,匹配是整个路径,而非其名;
				
			根据文件从属关系查找:
				-user USERNAME:查找属主指定用户的所有文件;
				-group GRPNAME:查找属组指定组的所有文件;
				
				-uid UID:查找属主指定的UID的所有文件;
				-gid GID:查找属组指定的GID的所有文件;
				
				-nouser:查找没有属主的文件;
				-nogroup:查找没有属组的文件;
				
			根据文件的类型查找:
				-type TYPE:
					f: 普通文件
					d: 目录文件
					l:符号链接文件
					b:块设备 文件
					c:字符设备文件
					p:管道文件
					s:套接字文件
					
			组合测试:
				与:-a, 默认组合逻辑;交集
				或:-o 并集
				非:-not, !   补集
				
			练习:
				1、找出/tmp目录下属主为非root的所有文件;
				2、找出/tmp目录下文件名中不包含fstab字符串的文件;
				3、找出/tmp目录下属主为非root,而且文件名不包含fstab字符串的文件;
				
					!A -a !B = !(A -o B)
					!A -o !B = !(A -a B)
					
			根据文件的大小查找:
				-size [+|-]#UNIT
					常用单位:k, M, G
					
					#UNIT:(#-1, #]
					-#UNIT:[0,#-1]
					+#UNIT:(#, oo)
					
			根据时间戳查找:
				以“天”为单位:
					-atime  [+|-]#
						#:[#, #-1)
						-#:(#, 0]
						+#:(oo, #-1]
					-mtime
					-ctime
					
				以“分钟”为单位:
					-amin
					-mmin
					-cmin
					
			根据权限查找:
				-perm  [/|-]mode
					mode:精确权限匹配;
					/mode:任何一类用户(u,g,o)的权限中的任何一位(r,w,x)符合条件即满足;
						9位权限之间存在“或”关系;
					-mode:每一类用户(u,g,o)的权限中的每一位(r,w,x)同时符合条件即满足;
						9位权限之间存在“与”关系;
						
	处理动作:
		-print:输出至标准输出;默认的动作;
		-ls:类似于对查找到的文件执行“ls -l”命令,输出文件的详细信息;
		-delete:删除查找到的文件;
		-fls /PATH/TO/SOMEFILE:把查找到的所有文件的长格式信息保存至指定文件中;
		-ok COMMAND {} \;   :对查找到的每个文件执行由COMMAND表示的命令;每次操作都由用户进行确认;
		-exec COMMAND {} \;  :对查找到的每个文件执行由COMMAND表示的命令;
		
		注意:find传递查找到的文件路径至后面的命令时,是先查找出所有符合条件的文件路径,并一次性传递给后面的命令;
			但是有些命令不能接受过长的参数,此时命令执行会失败;另一种方式可规避此问题:
				find | xargs COMMAND
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
linux命令大全,中文版本 Linux命令大全(修改版) 进行重新编译的说明 文件传输 bye ftp ftpcount ftpshut ftpwho ncftp tftp uucico uucp uupick uuto 备份压缩 ar bunzip2 bzip2 bzip2recover compress cpio dump gunzip gzexe gzip lha restore tar unarj unzip zip zipinfo 文件管理 diff diffstat file find git gitview ln locate lsattr mattrib mc mcopy mdel mdir mktemp mmove mread mren mshowfat mtools mtoolstest mv od paste patch rcp rhmask rm slocate split tee tmpwatch touch umask whereis which cat chattr chgrp chmod chown cksum cmp cp cut indent 磁盘管理 cd df dirs du edquota eject lndir ls mcd mdeltree mdu mkdir mlabel mmd mmount mrd mzip pwd quota quotacheck quotaoff quotaon repquota rmdir rmt stat tree umount 磁盘维护 badblocks cfdisk dd e2fsck ext2ed fdisk fsck.ext2 fsck fsck.minix fsconf hdparm losetup mbadblocks mformat mkbootdisk mkdosfs mke2fs mkfs.ext2 mkfs mkfs.minix mkfs.msdos mkinitrd mkisofs mkswap mpartition sfdisk swapoff swapon symlinks sync 系统设置 alias apmd aumix bind chkconfig chroot clock crontab declare depmod dircolors dmesg enable eval export fbset grpconv grpunconv hwclock insmod kbdconfig lilo liloconfig lsmod minfo mkkickstart modinfo modprobe mouseconfig ntsysv passwd pwconv pwunconv rdate resize rmmod rpm set setconsole setenv setup sndconfig SVGAText Mode timeconfig ulimit unalias unset 系统管理 adduser chfn chsh date exit finger free fwhois gitps groupdel groupmod halt id kill last lastb login logname logout logrotate newgrp nice procinfo ps pstree reboot renice rlogin rsh rwho screen shutdown sliplogin su sudo suspend swatch tload top uname useradd userconf userdel usermod vlock w who whoami whois 文档编辑 col colrm comm csplit ed egrep ex fgrep fmt fold grep ispell jed joe join look mtype pico rgrep sed sort spell tr uniq wc 网络通讯 dip getty mingetty ppp-off smbd(samba daemon) telnet uulog uustat uux cu dnsconf efax httpd ifconfig mesg minicom nc netconf netconfig netstat ping pppstats samba setserial shapecfg(shaper configuration) smbd(samba daemon) statserial(status ofserial port) talk tcpdump testparm(te

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值