初学第一篇

本菜鸡出现了。。。

第一次接触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 表示追加,如不加则覆盖

原创文章,作者:caijimandipao,如若转载,请注明出处:http://www.178linux.com/85842

(0)
上一篇 2017-09-02 15:59
下一篇 2017-09-02 17:27

相关推荐

  • linux下的打包与压缩

    linux压缩或解压缩工具有很多,除了已经很少有人使用的compress外,现在常用的还有tar,bzip2,xz 和gzip等,我们来说说它们的用法。 先来说bzip2。bunzip2和bzcat可以由bzip2指定选项来执行同样的结果,这里只介绍bzip2的用法。使用bzip2这个工具创建的文件以.bz2,.bz,.tbz,.tar.bz2或者…

    Linux干货 2017-04-16
  • Linux之Centos系统的启动流程详述

    概述 了解系统的启动流程,有助于我们了解Linux系统上的一些工作原理,有助于我们深入的理解一个系统的运作方式,那么本篇就以CentOS6系统为例,介绍一下有关Linux系统启动相关的内容,分为一下几个部分 1、Linux系统的一些基础概念 2、CentOS6上的启动流程概述 第一章 Linux系统的一些基础概念 Linux系统的组成部分:内核(kernel…

    Linux干货 2016-09-29
  • 海量数据处理算法—Bloom Filter

    1. Bloom-Filter算法简介         Bloom-Filter,即布隆过滤器,1970年由Bloom中提出。它可以用于检索一个元素是否在一个集合中。        Bloom Filter(BF)是一种空间效率很高的随机数据结构,它利用位数组很简洁地表…

    Linux干货 2015-10-22
  • 马哥教育网络班21期-第七周课程练习

    1、创建一个10G分区,并格式为ext4文件系统;    (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~…

    Linux干货 2016-08-29
  • Linux——文件处理工具(一)

    (1) 文件查看命令: cat,tac,rev cat [OPTION]… [FILE]…读取文件内容 –E: 显示行结束符$ –V :显示非打印字符 –n: 对显示出的每一行进行编号 –A:显示所有字符 –b:非空行编号 –s:将连续的空行变成一行 &#8211…

    2017-07-29
  • Linux文本处理工具及组管理

    1、列出当前系统上所有已经登录的用户名,注意:同一个用户登录多次,只显示一次即可 [root@centos ~]# who | cut -d' ' -f1 | sort -u     gentoo &…

    Linux干货 2016-10-09