初学第一篇

本菜鸡出现了。。。

第一次接触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

(0)
oranixoranix
上一篇 2017-09-02
下一篇 2017-09-02

相关推荐

  • linux 怎么使用帮助

    linux怎么使用帮助 Which命令 whatis命令 使用手册来获取帮助-man命令 通过info命令查看帮助 使用软件自带的帮助文档来获取帮助 通过在线文档获取帮助 使用网站和搜索 linux 怎么使用帮助 在linux中有很多命令,配置文件,很多命令选项和参数,我们不可能完全记住的,那工作中遇到怎么办,我们可以查看linux自带的帮助文档,或者利用搜…

    Linux干货 2016-09-05
  • Linux磁盘管理

    面对一块硬盘,我们该如何使用它呢?本文从机械硬盘结构,分区,格式化,和挂载四个层次进行介绍。 一、机械硬盘结构 现在服务器使用机械式硬盘是主流,因为其造价低,容量大,和固态硬盘相比读写性能要差很多。机械硬盘主要由以下几个部件构成:转轴Spindle,盘片Platter,机械臂Boom,磁头Head。工作机制是马达带动盘片高速旋转,磁头对盘片进行擦写数据或读取…

    Linux干货 2016-09-01
  • linux之netfilter与 iptables学习

    Linux之netfilter与iptables学习 一、为什么我们的主机需要防火墙 二、Linux下防火墙如何实现 三、四表五链学习 四、主机防火墙 五、网络防火墙 六、iptables命令学习 七、主机防火墙规则备份与恢复 ====================================== 一、为什么我们的主机需要防火墙?  &nbs…

    Linux干货 2016-06-23
  • LVS NAT模型

    LVS NAT NAT模式顾名思义就是对地址进行转换 通过访问前端外网的VIP调度到后端两台真实主机 拓扑图如下                      &n…

    2017-05-15
  • 任务计划配置

             任务计划:         linux任务计划,周期任务执行         未来的某个时间点执行一次任务:at,batc…

    Linux干货 2016-09-12
  • grep命令

    ]# chmod -R 700 /home/tuser1 ]# ll /home/tuser1/ total 0 drwx——. 2 root root 72 Nov 20 17:33 skel 新增用户与组: 显示/proc/meminfo: 显示shell 非 /sbin/nologin 的用户 找出/etc/passwd文件中一…

    Linux干货 2016-11-20