本菜鸡出现了。。。
第一次接触Linux,相对老司机要差远了,这几个月的辣眼睛,我就承包了,希望越来越好~~~
————我是分割线,下面是正文————-
都是讲过的东西,不过里面内容都是11手打,作业也自己做后再比对答案
一、–第一天的课程暂时不写了,从第二天开始
–第二天开头学了不少有意思的命令
whoami显示当前用户名
who am i显示当前用户详细信息,包括登录时间、终端名
who 这个显示的是全部登录的用户名,包括更多的信息,这里就不写了。
–比较好玩的就是对话:
通过tty获得两个终端的名称,随后两个终端进行对话。
echo hello >/dev/pts/0
echo niyehello >dev/pts/2
不过要在一个用户名之下,不然找不到
——————-我是分隔符——————是不是很明显————
–echo、cat这两个command还是常用的
–echo $SHELL、cat /etc/shells 注意空格
–vim的初步试用:i、q、q!、wq、x、esc、:、两次esc
–type用来判断命令的类型 type ls/echo
–enable管理内部命令 enable echo、enable -n echo、 enable、enable -a
–help帮助命令
–hash 刚才禁用echo,缓存在外部命令,可以用hash操作
hash-展示、hash-l详细展示、hash -d echo删除缓存路径、hash -p /bin/echo手动添加一条缓存路径
–PATH用来指定外部命令的搜索路径:为间隔 $PATH
命令执行的顺序 alias别名–command内部命令–hash–PATH
–whereis command which command
–alias alias do=”command”
多命令,分号分别执行:echo 123 ; ls ; ll
关机重启没有尝试:halt/poweroff/init 0 reboot/init 6
–shutdown -r重启、-关机、-c取消计划关机、+0马上关机,+1一分钟后关机、20:00八点关机
—————————————-我又来了~—————————-
–date:
date展示的结果不好看,可以自己操作玩
date +%F年月日、T时分秒
date +%Y-%m-%d” “%H:%M:%S
date 月日时分年.秒 date -s”2012-12-12 12:12:12″
–hcclock或clock -s将硬时间写入软时间 -w将软时间写入硬时间
clcok -w ;date -s”2017-09-02 10:24:00″
cal日历 cal 2017 cal 09 2018
–screen ssh连接他人ip地址
-ls列出全部screen -S 名称 创建一个screen -x名称 加入一个screen
–echo展示 -n不换行 -e解释功能
下面开始装逼时间:
“\a” 发出警告声
“\b” 退格
“\c” 不换行
“\n” 换行且光标移至行首
“\r” 移至行首但不换行
“\t” 插入tab
while true ; do echo -e “\a” ; sleep 0.5 ;done
–$command 或`command`引用命令执行的结果
$[1+1]或$((1+1))运算
${变量名}或”$变量名”引用变量
–{}的用法
{1,10}、{1..10}、seq 1 10、seq{1,10}
–tab补齐
—————————–风骚如我,无处不见————————-
–history -c清空 -r将历史追加到history最后 -n读取未加载历史 -a将当前终端历史写入/.bash_history
–ctrl+a光标跳行首 +e行尾 echo(alt+100)a输出100个a
–whatis 显示命令描述信息
–help内部命令 外部命令–help
–man字典
d、u、f、b,G、g、j、k都是翻页键 /关键字 ?关键字类似于find,查找,找到后n向下N向上
q退出
–pwd 显示当前工作目录 -P目录为软连接时,显示源目录路径 -L目录为软连接时,显示链接目录的路径
–绝对路径:从盘符开始的路径:C:\windows\system64\xxx.xx
–相对路径:从当前路径开始的:system64\xxx.xx或.\xxx.xx
–cd就不写了
–ls列出目录内容
ls 列出
-a 列出所有文件,包括隐藏
-A列出所有文件,包括隐藏,但不包括.和..
-l 长列出(属性)
-R 递归———————–这个记了
-l竖显示
–touch
创建空文件,对oldfile的touch,没记
–stat file 查看文件详细属性
–文件的通配符:
*任意
?任意单个
~ 家目录
[0-9/a-zA-Z]范围 [hello]取其中的五个匹配 ^脱字符(取反)
[[:digit:]] 表示任意数字
[[:alpha:]] 表示任意字母
[[:alnum:]] 表示任意字母或数字
[[:upper:]] 表示大写字母
[[:lower:]] 表示小写字母
[[:blank:]] 水平空白字符
[[:space:]] 水平或垂直空白字符
[[:punct:]] 特殊字符
小葵花课堂作业:
1、显示/var目录下所有以l开头,以小写字母结尾,中间必须有一个数字的文件或目录
2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录
3、显示/etc目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符的文件或目录
4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其他wei任意字符的文件或目录
5、显示/etc目录下,所有以.d结尾的文件或目录
6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录
7、只显示/root下的隐藏文件和目录
8、只显示/etc下的非隐藏目录
1、ls -d /var/l*[[:digit:]]*[[:lower:]]
2、ls -d /etc/[[:digit:]]*[^[:digit:]]
3、ls -d /etc/[^a-zA-Z]*[a-zA-z]*
4、ls -d /etc/rc[0-6]*
5、ls -d /etc/*.d
6、ls -d /etc/[mnrp]*.conf
7、ls -d /root/.*
8、ls -d /etc/*
—————————放学别走!————————–
cp 来源src 目的地dst
挑选一些命令:
-i覆盖时提示(别名cp -i=cp) cp /app/123 /var
-r递归,可以复制目录
-v 显示复制过程
-p 等于 –preserv=mode,owner,timestamp 复制时保留权限,时间不变
-a 以上全部
作业:
1.定义别名命令baketc,当执行该别名时,会将/etc/目录下所有文件,备份到名为/testdir的独立目录下,并要求生成的子目录名称格式为backYYYY-mm-dd(如back2017-08-31),备份过程可见
2.创建/testdir/rootdir目录,并复制/root下所有文件到该目录内,要求保留原有权限
1、alias baketc =’cp -a /etc /testdir/’ backYYYY-mm-dd(如back2017-08-31这个不会
2、mkdir /testdir/rootdir —>cp -p /root /testdir/rootdir
–mv src dst
dst可不存在,会创建,若存在-i询问是否覆盖,-f是直接覆盖,不问
–rename 源格式 目标格式 原文件路径
/app下touch 123.txt 456.txt
rename .txt .xls /app/*
–rm删除
rm -rf 123xls
ls |xargs rm -rf 当删除的文件数量过多,超过了所支持的参数数量上限时,可配合管道及xargs来删除。
–no-preserve-root
–tree
-d只显示目录 -L num 只显示制定level的目录结构tree -L 2 testdir
–mkdir创建目录
-p一次性创建多级目录 -v创建时显示信息 -m mode创建时指定权限
作业:
创建/testdir/dir1/x,/testdir/dir1/y,/testdir/dir1/x/a ,/testdir/dir1/x/b,/testdir/dir1/y/a,/testdir/dir1/y/b
创建/testdir/dir2/x,/testdir/dir2/y,/testdir/dir2/x/a,/testdir/dir2/x/b
创建/testdir/dir3,/testdir/dir4,/testdir/dir5,/testdir/dir5/6,/testdir/dir5/7
1、mkdir /testdir/dir1/{x,y}/{a,b}
2、mkdir /testdir/dir2/{x/{a,b},y}
3、mkdir -p testdir/dir{3,4,5/dir{6,7}}
错误示范。。。。缺少-p,不能创建多级目录
–tr
[set1] [set2] 将set1转换成set2,set1的位数多于set2时,多出的位数全转成set2的最后一位,如tr abcd ef 即a转成e,bcd均转成f
-d [set1] 删除set1的字符
-c [set1] [set2] 除了set1以外的剩下其他字符都转换set2(换行符也会被转)
-cd [set1] 删除除set1以外的字符
-s [set1] 将连续重复的字符转为一个
作业:
1、将/etc/issue文件中的内容转换为大写后保存至/tmp/issue.out文件中
2、将当前系统登录用户的信息转换为大写后保存至/tmp/who.out文件中
3、一个linux用户给root发邮件,要求邮件标题为”help”,邮件正文如下:
Hello, I am 用户名,The system version is here,please help me to
check it ,thanks!
操作系统版本信息
4、将/root/下文件列表,显示成一行,并文件名之间用空格隔开
5、计算1+2+3+..+99+100的总和
6、删除Windows文本文件中的‘^M’字符
7、处理字符串“xt.,l 1 jr#!$mn 2 c*/fe 3 uz 4”,只保留其中的数字和空格
8、将PATH变量每个目录显示在独立的一行
9、将指定文件中0-9分别替代成a-j
10、将文件中每个单词(由字母组成)显示在独立的一行,并无空行
答案:
1、tr a-z A-Z < /etc/issue > /tmp/issue.out
2、who |tr a-z A-Z > /tmp/who.out
3、echo -e “Hello, I am `whoami`,The system version is here,please
to check it ,thanks! \n`cat /etc/redhat-release`” |mail -s “help” root
4、ls -1 | tr ‘\n’ ‘ ‘
5、echo {1..100} |tr ‘ ‘ +|bc
6、tr -d ‘\r’ < win.txt
7、echo ‘xt.,l 1 jr#172.16.233.128mn 2 c*/fe 3 uz 4’ |tr -dc [0-9][:blank:]
8、echo $PATH|tr : ‘\n’
9、cat /etc/fstab | tr [0-9] [a-j]
10、cat a | tr ‘ ‘ ‘\n’ | tr -s ‘\n’
—————————快下课了———————-
<标准输入符
>标准输出符(覆盖)
>>追加
标准错误输出
2>覆盖
2>>追加
将标准正确输出转换为标准错误输出
1>&2
将标准错误输出转换为标准正确输出
2>&1
将所有输出结果输出
&> 覆盖
&>> 追加|
&> /dev/null 丢入null
管道符 |
将前一条命令的正确输出结果传递给后面一条命令使用 ehco hj123 |tr hj aa
tee 对输出结果进行复制
echo hello |tee -a /root/test.txt |tr a-z A-Z
-a 表示追加,如不加则覆盖
原创文章,作者:oranix,如若转载,请注明出处:http://www.178linux.com/85842