01 目录结构、基础命令的讲解、管道和重定向(讲解邮件的发送)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Jackson_Baekhyun/article/details/77110608

一、目录结构(树状的目录结构,最底层为根目录/):

   bin:存放命令,普通用户命令

   sbin:、、、、,管理员命令

   usr(user):放用户数据的(编译安装的软件,用户的软件源码,等等,相当于是一个用户的根)

   dev(device):设备目录(linux下有一句话可以这样说,任何设备都是文件)

   root:超级管理员的家目录   

   home:其它普通用户的家目录

   tmp(temporary):临时目录,存放很多软件运行的一些临时文件(此目录建议新手不要去做任何的操作)

   boot:存放开机启动有关的一些文件

   etc:大部分的软件的配置文件都会存放在这

   proc: 这两个是伪文件系统,记录系统动态的一些信息

  (当前系统的各种状态:

   比如 

   cat /proc/cpuinfo查看cpu相关的信息;

   cat /proc/cpuinfo  |grep -E "vmx|svm"查看cpu是否支持vmx或svm指令集)

   var:一个比较综合的目录,存放了日志,pid文件,邮件等

   mnt
   media  
   misc  三个空目录,一般用于挂载用的

------------------------------------------------------------------------------------------------------

二、命令的讲解

(1)ls

1.ls -l或ll   详细列表形式进行查看

   ls -dl或ll -d 查看权限

2.ls -a 查看隐藏文件

特别的:# which ls ---->查看ls命令路径和适用于别名情况

which是于查看某个命令或文件的绝对路径的

文件类型:

# ls -l /etc/fstab
-rw-r--r-- 1 root root 1077 Jun  7 17:34 /etc/fstab
   

-  普通文件
d   目录
p   pipe管道文件
s   socket文件(socket是一种程序的连接方式)
l   链接文件(symbolic link,符号链接,软链接;类似windows的快捷方式)
b   block块设备文件
c   character字符型设备文件

(2)alias 取别名 (最常见的用法是用于改变颜色)

alias ls = 'ls -d --color=auto'

(3)查看文件的相关命令:cat   head  tail  more  less  tac  rev

# cat /etc/inittab  --查看文件所有内容
# head /etc/inittab   --查看文件前十行内容

# head -3 /etc/inittab --指定查看文件的前三行
# tail /etc/inittab   --查看文件后十行内容
# head -3 /etc/inittab --指定查看文件的前三行
# tail -3 /etc/inittab --指定查看文件的后三行 
# tail -f /var/log/messages    --动态监控文件的末尾(/var/log/message日志文件是系统最常见的日志文件,会记录系统大部分的通知或错误信息)
(常用于监控日志文件,因为日志文件都是从上往下记录,并且是变化的。那么动态监控文件末尾其实就是随时可以看到日志最近的变化)

# more /etc/rc.sysinit   --回车向下移一行,空格向下移一页,q键退出
# less /etc/rc.sysinit   --向上向下箭头可以移,page up 和page down键移页,q键退出

(4)文件操作的相关命令: cd    pwd  mkdir  touch  cp   mv   rm

1.cd 切换目录命令

cd ~ 或 cd    --切换到当前用户家目录
cd -      --切换到上一次的目录
.   代表当前目录
..  代表上级目录

2.pwd 查看文件的相关路径

3.touch:创建一个文件

同时创建多个文件的办法:

touch a b c        

touch {1..10}

4.cp 拷贝命令
cp 源  目标
对比下面这两条的区别更名为
# cp /etc/fstab /test:拷贝到根目录下并更名为test
# cp /etc/fstab /test/:拷贝到根目录下的test文件下

5.mv:剪切和粘贴命令

6.rm 删除命令

(5)管道:(将前面的输出结果传给后面)

# stat file1 | tail -3--查看stat file1命令的结果的后三行

# tail -5 /etc/passwd  |head -1--查看此文件的倒数第五行
# head -5 /etc/passwd  |tail -1 --查看此文件的正数第五行
# cat /etc/passwd |wc -l --统计此文件有多少行
# cat /etc/passwd |grep root |wc -l --统计此文件里有root关键字的行数

# cd /etc
# grep root *   --表示在当前目录的所有文件里查找有root关键字的行
# grep root * |cut -d":" -f1 |sort|uniq -c |sort -n -r   
* 表示全局

(6)重定向



0 标准输入-----  终端  --------标准输出   1
   |
   |
错误输出
   2


标准输入:指你键盘的输入,或者敲的命令
标准输出:指结果里正确的输出,可以用> 或者 1> 来重定向
错误输出:指结果里错误的输出,可以用 2> 来重定向

&>表示错误和正确一起重定向

总结几个发邮件的方式:

(1)mail -s(subject) "文件主题"  接收人

正文

.----->表示结束

(2)echo 邮件正文 | mail -s "邮件主题"  root


实验1:手动交互式发邮件
# /etc/init.d/postfix restart --启动postfix邮件服务器(如果没有此服务文件,则yum install postfix安装就可以)
# echo > /var/mail/root         --清空root用户的邮箱(这里就是把echo得到的空行,重定向到后面的文件,覆盖后面文件的内容)

# mail -s "哈哈" root --这里表示用本机root用户给本机root用户发一封邮件,主题为哈哈
你好 --正文内容为你好
. --.号表示结束
EOT

实验2:利用重定向或管道非交互发邮件
# mail -s "邮件主题"  root  < mail.txt --把mail.txt里的内容做为邮件正文重定向给这封邮件发给root用户
# echo 邮件正文 | mail -s "邮件主题"  root --用管道的用法来实现发邮件

# cat /var/mail/root--查看是否收到了此邮件
实验3:覆盖与追加

# echo abc > 123.txt --如果123.txt不存在,则创建123.txt,并内容修改为abc;如果123.txt文件存在,则只把原内容修改为abc
# echo cba >> 123.txt --两个>符号,就是原内容不变,再追加新的内容
# cat > 123.txt << EOF --如果123.txt不存在,则创建它,并加入两行内容111 222;存在则覆盖它原来的内容
111
222
EOF
# cat >> 123.txt << HAHA --相比于上一条,这是追加内容,而且标记不一定要用EOF,只要前后一致成对出现就可以
> 333
> 444
> HAHA

------------------------------------------------------------------------



猜你喜欢

转载自blog.csdn.net/Jackson_Baekhyun/article/details/77110608
今日推荐