<span>linux(2)深入shell</span>

1、通配符

通配符含义===>匹配文件名

符号 作用
* 匹配任何字符串/文本,包括空字符串;*代表任意字符(0个或多个) ls file *
? 匹配任何一个字符(不在括号内时)?代表任意1个字符 ls file 0
[abcd] 匹配abcd中任何一个字符
[a-z] 表示范围a到z,表示范围的意思 []匹配中括号中任意一个字符 ls file 0
{…} 表示生成序列. 以逗号分隔,且不能有空格
[!abcd] 或[^abcd]表示非,表示不匹配括号里面的任何一个字符
 [root@localhost ~]# cd /etc #切换目录
 [root@localhost etc]# ls *.png #列出所有PNG图片
 favicon.png
[root@localhost etc]# ls a? #列出首字母是a,文件名只有两个字符的所有文件
ls: 无法访问a?: 没有那个文件或目录
[root@localhost etc]# ls [abc]* #列出首字母是a、b或c的所有文件
adjtime      autofs.conf            brltty.conf                crontab
aliases      autofs_ldap_auth.conf  cgconfig.conf              crypttab
aliases.db   auto.master            cgrules.conf               csh.cshrc
anacrontab   auto.misc              cgsnapshot_blacklist.conf  csh.login
ant.conf     auto.net               chrony.conf
asound.conf  auto.smb               chrony.keys
at.deny      bashrc                 cron.deny
preferreddrivers.xml
[root@localhost etc]# ls [!abc]*		#列出首字母不是a、b或c的所有文件
DIR_COLORS                  krb5.conf                 pcp.sh
DIR_COLORS.256color         ksmtuned.conf             pinforc
DIR_COLORS.lightbgcolor     ksysguarddrc              pnm2ppa.conf
dleyna-server-service.conf  ld.so.cache               printcap

2、重定向

输出重定向

[root@localhost etc]# cat > f1 #创建f1文件,输入内容,按【Ctrl+D】退出

This is my file named f1.
[root@localhost etc]# cat > f2		#创建f2文件
This is my file named f2.
[root@localhost etc]# cat f1 f2>f		#将f1、f2合并并生成f

[root@localhost etc]# cat f		#查看f文件内容
This is my file named f1.
This is my file named f2.

[root@localhost etc]# cat >>f1 #向f1文件添加内容

append to f1

[root@localhost etc]# cat f1 #查看f1文件内容

This is my file named f1.
append to f1

错误输出重定向

[root@localhost etc]# ls /temp 2>err		

[root@localhost etc]# cat err

ls: 无法访问/temp: 没有那个文件或目录

[root@localhost etc]# cat <f1		#用输入重定向的方式查看f1的文件内容
This is my file named f1.
append to f1

3、管道

[root@localhost etc]# ls |wc -l #统计当前目录中文件和子目录的数目

318

4、历史记录

[root@localhost etc]# history 5 #查看最近执行过的5个shell命令

  120  ls /temp 2>err
  121  cat err
  122  cat <f1
  123  ls |wc -l
  124  history 5

[root@localhost etc]# !123 #执行序号为123的shell命令

ls |wc -l
318

[root@localhost etc]# !! #执行刚刚执行过的命令

ls |wc -l
318

5、别名

[root@localhost etc]# 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 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'
[root@localhost etc]# alias ctab='cat /etc/initab'		#设置别名命令ctab

[root@localhost etc]# unalias ctab=‘cat /etc/initab’ #删除已创建的别名命令

-bash: unalias: ctab=cat /etc/initab: 未找到

6、自动补全

[root@localhost etc]# ls #查看当前目录中的文件和子目录
favicon.png                 nsswitch.conf.bak         terminfo
fcoe                        ntp                       tmpfiles.d
festival                    ntp.conf                  tomcat
filesystems                 numad.conf                Trolltech.conf
firewalld                   oddjob                    trusted-key.key
fonts                       oddjobd.conf              tuned
fprintd.conf                oddjobd.conf.d            udev
[root@localhost etc]# cat fs #不需要输入完整的命令cat fstab,只需输入cat fs,然后按下【tab】即可
[root@localhost etc]# cap #输入命令后,连续按两次【Tab】键,屏幕显示所有以cap开头的shell命令
capsh      captoinfo  
[root@localhost etc]# capsh #用户补齐命令的剩余部分即可执行相关命令
[root@localhost ~]# cat /etc/
cat: /etc/: 是一个目录
[root@localhost ~]# cat /etc/pr
prelink.conf.d/ profile         protocols       
printcap        profile.d/      
[root@localhost ~]# cat /etc/profile
# /etc/profile

# System wide environment and startup programs, for login setup
# Functions and aliases go in /etc/bashrc

# It's NOT a good idea to change this file unless you know what you
# are doing. It's much better to create a custom.sh shell script in
# /etc/profile.d/ to make custom changes to your environment, as this
# will prevent the need for merging in future updates.

pathmunge () {
    case ":${PATH}:" in
        *:"$1":*)
            ;;
        *)
            if [ "$2" = "after" ] ; then
                PATH=$PATH:$1
            else
                PATH=$1:$PATH
            fi
    esac
}

文本编辑器vi

Vi工作模式

启动vi

[root@localhost etc]# vi num		#vi 文件名
[root@localhost etc]#vi 			#不输入文件名会在保存退出时必须指定文件名

编辑文件(此步在vi文件中操作)

输入文本

直接按键盘上的字母(区分大小写)

字符 作用
i 从当前的光标位置开始输入字符
I 光标移动到当前的行首,开始输入字符
a 从当前的光标的下一个位置,开始输入字符
A 光标移动到当前的光标的行尾,开始输入字符

查找字符

字符 作用
/字符 从行首开始搜索这个字符
?字符 从行尾开始搜索这个字符
n 继续查找满足条件的字符串

撤销与重复(命令模式下)

字符 作用
u 撤销上一步操作
. 重复上一步操作

文本块操作

字符 作用
:set nu 显示行号
:set nonu 不显示行号
:n1,n2 co n3 将从n1到n2之间的所以文本复制到n3行之下
:n1,n2 m n3 将从n1到n2之间的所以文本移动到n3行之下
:n1,n2 d 删除从n1到n2之间的所以文本
:n1,n2 s/字符串1/字符串2/g 将n1行到n2行之间的所有字符串1用字符串2代替

保存与退出(此步在vi文件中操作)

字符 作用
:w[文件名] 保存为指定文件
:w 直接保存退出
:q 退出vi,如有改动会提示请保存退出
:q! 不保存,强制退出vi
:wq 保存并退出
:x 保存并退出
全部评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 16:48
今天九点半到公司,我跟往常一样先扫了眼电脑,屁活儿没有。寻思着没事干,就去蹲了个厕所,回来摸出手机刷了会儿。结果老板刚好路过,拍了我一下说上班别玩手机,我吓得赶紧揣兜里。也就过了四十分钟吧,我的直属领导把我叫到小隔间,上来就给我一句:“你玩手机这事儿把老板惹毛了,说白了,你可以重新找工作了,等下&nbsp;HR&nbsp;会来跟你谈。”&nbsp;我当时脑子直接宕机,一句话都没憋出来。后面&nbsp;HR&nbsp;找我谈话,直属领导也在旁边。HR&nbsp;说我这毛病不是一次两次了,属于屡教不改,不光上班玩手机,还用公司电脑看论文、弄学校的事儿。我当时人都傻了,上班摸鱼是不对,可我都是闲得发慌的时候才摸啊!而且玩手机这事儿,从来没人跟我说过后果这么严重,更没人告诉我在公司学个习也算犯错!连一次口头提醒都没有,哪儿来的屡教不改啊?更让我膈应的是,昨天部门刚开了会,说四个实习生里留一个转正,让大家好好表现。结果今天我就因为玩手机被开了。但搞笑的是,开会前直属领导就把我叫去小会议室,明明白白告诉我:“转正这事儿你就别想了,你的学历达不到我们部门要求,当初招你进来也没打算给你这个机会。”合着我没入贵厂的眼是吧?可我都已经被排除在转正名单外了,摸个鱼至于直接把我开了吗?真的太离谱了!
rush$0522:转正名单没进,大概率本来就没打算留你
摸鱼被leader发现了...
点赞 评论 收藏
分享
头像 会员标识
2025-12-12 19:58
哔哩哔哩_产品运营
跟同事聊天时候,同事说“你刚来时候blabla”,突然意识到自己已经正式工作一年多了!就这么从脆皮内耗大学生逐渐磨练成厚血条(厚脸皮)工位主理人。秋招简历当然也是投了不少份,但总有一些机会要留给自己的白月光,比如阿B,说说我秋招选择阿B的理由吧:1.&nbsp;“为爱发电”:说来兴趣真的是初心,阿B在手机陪我看了那么多番剧vlog学习视频,当然想和它距离更近一些。来了之后发现,B站重要活动要专门走内宣是有原因的,身边的六级大佬绝对不在少数。2.&nbsp;实习体验感拉满:嗯对其实等不到正式工作就先来实习体验了。实习期在一个非常好的组,大家都很年轻氛围超好,做事情讲背景、讲逻辑不会只丢脏活累活。平时聊得来,工作起来也能快速打配合,项目完成时候所有人都成就感满满。再说说来正式工作之后的体验感:1.&nbsp;校招生mentor文化很需要:在阿B每个校招生入职都是会有一位mentor的,不会让大家有刚工作人生地不熟就孤苦一人挑大梁的感觉。很幸运我的mt人真的超好,耐心温柔业务能力又很强。常常在对需求听她帮我说话时看着她身上闪耀的光芒想要流泪。有mt的话landing期会顺畅很多。公司也会安排一些活动帮助mentor和mentee增进感情。2.小动物们和各类活动是回血剂:工作起来当然难免遇到一些磕磕磨磨,但是压力大时候转头看到想悄悄溜过的小猫摸上一把,真的会治愈不少。还有节假日的各种活动和扫楼活动,真的会给上班增加动力。最后上图!没有任何工作会让人一直开心吧,但阿B你在照顾员工心情这一块儿做得真的很不错。
哔哩哔哩公司福利 904人发布
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务