初学第一篇

本菜鸡出现了。。。

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

相关推荐

  • 三种方案实现tomcat反代服务

    要求: 分别实现这三种架构:    1、nginx + tomcat cluster    2、httpd(proxy_http_module)+tomcat cluster    3、httpd(proxy_ajp_module)+tomcat cluster;   &nbsp…

    2017-07-03
  • Linux 基础知识(二)

    一、Linux文件管理类命令的使用方法及其相关示例演示? 1、文件管理 2、文件查看 二、Bash特性详解 1、命令行展开 (1)在/tmp目录下创建:a_c,a_d,b_c,b_d 方法一:mkdir -pv {a,b}_{c,d} (2)在/tmp目录下创建mylinux目录,其结构如下:         方法一:…

    Linux干货 2016-09-26
  • Shell脚本中循环浅析

    在shell脚本中,循环是很重要的一环。循环可以不断的执行某个程序段落,直到用户设置的条件达成为止。在shell中,除了这种依据判断时达成与否的不定循环之外,还有另外一种已经固定要跑多少次的循环,可称之为固定循环。下面,我们主要对for,while,until三种循环做一下介绍。   一、for循环 For循环是给定变量列表的固定次数循环,其执行机…

    Linux干货 2016-08-21
  • 马哥教育网络班20期+第2周课程练习

    一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。     1、cat:用于连接文件并打印到标准输出设备上,常用来显示文件的内容         命令使用格式     &nb…

    Linux干货 2016-06-23
  • python之psutil模块

    python 安装psutil 来实现获取系统信息  # yum -y install python*pip # yum -y groupinstall “Development Tools # yum -y install python34-devel.x86_64 # pip3 install –upgrade pip # pip3 inst…

    Linux干货 2014-01-22
  • 22期第十二周课堂练习

    1、请描述一次完整的http请求处理过程; (1)建立和处理连接:接收请求或者拒绝请求; (2)接收请求:接收来自于网络上的主机请求报文中对某特定的资源的一次请求的过程; (3)处理请求:对请求报文进行解析,获取客户端请求的资源及请求方法等相关信息 (4)访问资源:获取请求报文中请求的资源 (5)构建响应报文; (6)发送响应报文; (7)记录日志; 2、h…

    Linux干货 2016-12-26