前言:

前面学了了用户和用户组的管理,文件权限的管理以及查找文件的三种方式,接下来将学习怎样配置环境变量,常见的压缩格式与怎么解压,管道,标准的输入输出以及重定向

echo命令:

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到:

[plain] view plain copy
  1. [user1@xianzan dir]$ echo "hello world"
  2. hello world
  3. [user1@xianzan dir]$ echo -n "hello world"
  4. hello world[user1@xianzan dir]$ echo $PATH
  5. /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

此外。echo可以直接将你要打印的字符串写到你的文件中:

[plain] view plain copy
  1. [user1@xianzan dir]$ echo "hello world">echotest.txt
  2. [user1@xianzan dir]$ cat echotest.txt
  3. hello world

export命令:

用于声明一个环境变量:
[plain] view plain copy
  1. [user1@xianzan dir]$ export PATH=$PATH:/usr/local/bin
  2. [user1@xianzan dir]$ echo $PATH
  3. /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin:/usr/local/bin

类似于 export  变量 = 变量值   的方式声明一个环境变量只在本进程或者子进程器作用,关闭进程重新查看PATH变量的值:

<img src="https://img-blog.csdn.net/20160114184427901?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border: none; max-width: 100%;" />
[plain] view plain copy
  1. [xianzan@xianzan dir]$ echo $PATH
  2. /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

说明:

如果在某次运行中,手动export一个变量,则在这次shell使用中,才能访问这个变量,或者在该shell启动的其他程序中,也可以访问这个变量,因为它们是这个shell的子进程。
</pre><pre id="best-content-1144911805" class="best-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px;">要想在linux启动时,环境变量对这个系统的所有用户都有效则修改 <span style="color: rgb(255, 0, 0);">/etc/profile</span>文件
<div class="dp-highlighter bg_plain" style="font-family: Consolas, 'Courier New', Courier, mono, serif; font-size: 12px; width: 700.906px; overflow: auto; padding-top: 1px; margin: 18px 0px !important; background-color: rgb(231, 229, 220);"><div class="bar" style="padding-left: 45px;"><div class="tools" style="padding: 3px 8px 10px 10px; font-stretch: normal; font-size: 9px; line-height: normal; font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; color: silver; border-left-width: 3px; border-left-style: solid; border-left-color: rgb(108, 226, 108); background-color: rgb(248, 248, 248);"><strong>[plain]</strong> <a target=_blank href="http://blog.csdn.net/xiaofengwu123/article/details/50518084#" class="ViewSource" title="view plain" style="color: rgb(160, 160, 160); text-decoration: none; border: none; padding: 1px; margin: 0px 10px 0px 0px; font-size: 9px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_plain.gif); background-attachment: initial; background-color: inherit; background-size: initial; background-origin: initial; background-clip: initial; background-position: 0% 0%; background-repeat: no-repeat;">view plain</a><span class="tracking-ad" data-mod="popu_168"> <a target=_blank href="http://blog.csdn.net/xiaofengwu123/article/details/50518084#" class="CopyToClipboard" title="copy" target="_blank" style="color: rgb(160, 160, 160); text-decoration: none; border: none; padding: 1px; margin: 0px 10px 0px 0px; font-size: 9px; display: inline-block; width: 16px; height: 16px; text-indent: -2000px; background-image: url(http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/images/default/ico_copy.gif); background-attachment: initial; background-color: inherit; background-size: initial; background-origin: initial; background-clip: initial; background-position: 0% 0%; background-repeat: no-repeat;">copy</a></span><div style="position: absolute; left: 390px; top: 1782px; width: 18px; height: 18px; z-index: 99;"></div><span class="tracking-ad" data-mod="popu_169"> </span></div></div><ol start="1" style="padding: 0px; border: none; color: rgb(92, 92, 92); margin: 0px 0px 1px 45px !important; background-color: rgb(255, 255, 255);"><li class="alt" style="border-style: none none none solid; border-left-width: 3px; border-left-color: rgb(108, 226, 108); list-style: decimal-leading-zero outside; color: inherit; line-height: 18px; margin: 0px !important; padding: 0px 3px 0px 10px !important;"><span style="margin: 0px; padding: 0px; border: none; color: black; background-color: inherit;"><span style="margin: 0px; padding: 0px; border: none; background-color: inherit;">[xianzan@xianzan dir]$ vim /etc/profile  </span></span></li></ol></div>
环境变量生效:
[plain] view plain copy
  1. [xianzan@xianzan dir]$ source /etc/profile

shell配置:

Linux系统配置文件有四个:
/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置;
/etc/bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取;
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该文件被读取;此文件类似于/etc/bashrc,不需要重启生效,重新打开一个bash即可生效;
~/.bash_profile 是交互式、login 方式进入bash 运行的。

文件(夹)的压缩:

说明:

经常遇到的压缩格式为 .tar.gz,tar:只是打包,没有压缩后面gz为压缩方式。

gzip .gz GNU压缩工具,用Lempel-Ziv编码;

bzip2 .bz2 采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码;

zip .zip Windows上PKZIP工具的Unix实现;

tar命令:

tar function [options] object1 object2 

function参数定义了tar命令应该做什么

-A --concatenate 将一个已有tar归档文件追加到另一个已有tar归档文件; 
-c --create 创建一个新的tar归档文件; 
-d --diff 检查归档文件和文件系统的不同之处; 
--delete 从已有tar归档文件中删除;
-r --append 追加文件到已有tar归档文件末尾; 
-t --list 列出已有tar归档文件的内容; 
-u --update 将比tar归档文件中已有的同名文件新的文件追加到该tar归档文件中; 
-x --extract 从已有tar归档文件中提取文件;

-C dir 切换到指定目录; 
-f file 输出结果到文件或设备file; 
-j 将输出重定向给bzip2命令来压缩; 
-p 保留所有文件权限; 
-v 在处理文件时显示文件; 
-z 将输出重定向给gzip命令来压缩;
通常这些选项会组合在一起使用。
[plain] view plain copy
  1. [xianzan@xianzan dir]$ tar -czvf test.tar.gz
  2. [xianzan@xianzan dir]$ tar -xzvf test.tar.gz
  3. ./
  4. ./test3/
  5. ./test1/
  6. ./test2/
  7. [xianzan@xianzan dir]$ ls
  8. test1  test2  test3  test.tar.gz

file命令:

查看文件类型:ASCII、data、bin等:
[plain] view plain copy
  1. [xianzan@xianzan dir]$ file /etc/passwd
  2. /etc/passwd: ASCII text
  3. [xianzan@xianzan dir]$ file /usr/sbin/atrun
  4. /usr/sbin/atrun: POSIX shell script text executable
  5. [xianzan@xianzan dir]$ file /dev/fb0
  6. /dev/fb0: character special
  7. [xianzan@xianzan dir]$ file /dev/sda1
  8. /dev/sda1: block special

od命令:

查看二进制文件,格式: od [ -t TYPE ] 文件名
a: 利用默认的字符来输出
c: 使用ASCII输出
d: 十进制输出
f: 浮点数输出
o: 八进制输出
x: 十六机制输出
[plain] view plain copy
  1. [xianzan@xianzan dir]$ od -t d /bin/ls
  2. 0344420           1           0           0         0
  3. [xianzan@xianzan dir]$ od -t o /bin/ls
  4. 0344420 00000000001 00000000000 00000000000 00000000000

管道:

管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入,通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出。通过使用管道符“|”来建立一个管道行。
[plain] view plain copy
  1. [xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan
  2. xianzan:x:500:500:xianzan:/home/xianzan:/bin/bash
  3. [xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f1
  4. xianzan

说明:

cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。
-d :自定义分隔符,默认为制表符,-d后面跟的就是截取的标志上面是以 :为截取的标志;
-f  :与-d一起使用,指定显示哪个区域,f1代表显示第一个字段。
[plain] view plain copy
  1. [xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f2
  2. x
  3. [xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f3
  4. 500

命令置换符:

命令置换是将一个命令的输出作为另外一个命令的参数部分。常用命令格式为:command1 `command2`上面这条命令表示,命令command2的输出将作为command1的参数,需要注意的是,命令置换符“`”为ESC键下方的“~”键不按shift的输出。

[plain] view plain copy
  1. [xianzan@xianzan dir]$ ls `pwd`
  2. 1.c
  3. [xianzan@xianzan dir]$ ls /home/`cat /etc/passwd |grep xianzan |cut -d: -f1`
  4. dir  公共的  模板  视频  图片  文档  下载  音乐  桌面

标准输入、输出、出错:

标准输入<1>(Standard Input, stdin)是系统命令或程序获取输入的地方:
[plain] view plain copy
  1. [xianzan@xianzan dir]$ cat
  2. hello
  3. hello

标准输出<2>(Standard Output, stdout)是系统命令或程序正确执行信息的输出地方:

[plain] view plain copy
  1. [xianzan@xianzan dir]$ rm -rf *
  2. [xianzan@xianzan dir]$ ls
  3. [xianzan@xianzan dir]$ touch hello.txt
  4. [xianzan@xianzan dir]$ ls
  5. hello.txt

而标准出错<2>(Standard error, stderr)是系统命令或程序执行出错信息的输出地方:

[plain] view plain copy
  1. [xianzan@xianzan dir]$ ls ls
  2. ls: 无法访问ls: 没有那个文件或目录

说明:

Linux系统中默认的标准输入为键盘,标准输出和标准出错为终端屏幕。

输入、输出重定向、输出追加重定向符:

输入重定向符 < :
[plain] view plain copy
  1. [xianzan@xianzan dir]$ wc < /etc/passwd
  2. 39     67     1883
  3. 行数  单词数   字节数

输出重定向>:

[plain] view plain copy
  1. [xianzan@xianzan dir]$ tail /etc/passwd > stdout.txt
  2. [xianzan@xianzan dir]$ tail /etc/passwd > stdout.txt
  3. [xianzan@xianzan dir]$ cat stdout.txt
  4. gdm:x:42:42::/var/lib/gdm:/sbin/nologin
  5. ntp:x:38:38::/etc/ntp:/sbin/nologin
  6. apache:x:48:48:Apache:/var/www:/sbin/nologin

输出追加重定向>>:

[plain] view plain copy
  1. [xianzan@xianzan dir]$ tail /etc/passwd >> stdout.txt
  2. [xianzan@xianzan dir]$ cat stdout.txt
  3. gdm:x:42:42::/var/lib/gdm:/sbin/nologin
  4. ntp:x:38:38::/etc/ntp:/sbin/nologin
  5. apache:x:48:48:Apache:/var/www:/sbin/nologin
  6. gdm:x:42:42::/var/lib/gdm:/sbin/nologin
  7. ntp:x:38:38::/etc/ntp:/sbin/nologin
  8. apache:x:48:48:Apache:/var/www:/sbin/nologin

linux文件操作学习3相关推荐

  1. linux文件怎么操作,linux文件操作学习1

    由于实验室的项目需要开始学习linux,为了更好的学习和掌握linux的一些基本操作以及顺便做个备忘录,时间久了也可以看看自己的学习成果. 学习linux应该先抛开windows的C.D.E...盘的 ...

  2. Linux 高并发学习笔记 - Linux 文件操作函数

    1.6.2 Linux 文件操作函数 Linux 高并发学习笔记 - 笔记索引 前言 关于文件操作函数这一块主要用英文文档的形势书写,因为凉皮在写文档的时候发现Markdown用起来太繁琐了.那么关于 ...

  3. linux权限746,linux文件权限学习笔一

    linux文件权限学习随笔一 linux中,文件权限一直是困扰初学者的难题.但是还必须要把文件权限搞明白,否则你就很难进一步学习linux,因为你听不懂他的说什么,看不懂他的身份,不知道他要做什么. ...

  4. 如何更改linux文件权限设置,linux文件权限学习笔二——如何修改文件权限(chgrp,chown,chmod)...

    linux文件权限学习随笔二--如何修改文件权限 一.修改文件所属组群--chgrp 修改文件所属组群很简单-chgrp命令,就是change group的缩写(我们可以利用这些来记忆命令) 语法:c ...

  5. Linux文件操作--Python模块

    蓝桥云课笔记 一.认识Linux 1.快捷操作 2.查看目录结构:tree 3.绝对路径 4.新建目录 二.Linux文件操作 1.**新建空白文件** 2.**复制** 3.**删除** 4.**移 ...

  6. linux 设计一个程序,要求打开文件 pass 所有者,第二章 Linux 文件操作

    文档均来自网络,如有侵权请联系我删除文档 第二章 Linux 文件操作(4学时) 实验一文件属性和无缓冲I/O 实验目的 1.熟悉Linux文件系统属性控制 2.掌握不带缓存的文件I/O程序设计方法 ...

  7. linux文件权限记录,linux文件权限学习记录

    linux文件权限学习记录 1.Linux 的安全性 1.1/etc/passwd 文件 存放用户的登录名以及相关信息#cat  / etc / passwd root: x: 0 : 0 : roo ...

  8. Linux ● 文件操作指令

    [Linux基础与Shell基础]系列文章目录 第一章 初识 Linux Linux是什么? Linux的使用原理 第二章 Linux的基本使用 ● 不同类型的常用指令 Linux ● 文件操作指令 ...

  9. linux文件操作管理,linux 文件管理操作入门

    mkdir -p /root/kali/bp/shell  一路创建文件夹直到生成文件夹shell,中间没有kali文件夹的话也会自动创建生成 tar解压缩 范例一:将整个 /etc 目录下的文件全部 ...

最新文章

  1. 聊聊架构设计做些什么来谈如何成为架构师
  2. mybatis 执行插入操作,insert 返回1,数据库中无数据。数据库中数据的创建时间和插入执行时间不一致。
  3. kubernetes之flannel 网络分析
  4. 2017.7.28 愤怒的小鸟 思考记录
  5. Centos 安装 Chrome
  6. androidsdcard挂载目录_Android获取手机自带SDCard和外置SDCard路径
  7. 百度、支付宝、今日头条先后被约谈,下一个会是谁?
  8. 图片延迟加载(lazyload)的实现原理
  9. Spring+quartz集群配置,Spring定时任务集群,quartz定时任务集群
  10. 传智播客扫地僧C/C++学习 数据类型的本质
  11. Matlab中的基本绘图操作,Matlab中如何绘图
  12. 【支付专区】之检查微信预下单返回结果
  13. android7.0root工具,KingRoot全球实现Android 7.0一键 Root
  14. 英特尔cpu天梯图排名(附台式机CPU天梯图2022年3月份最新版精简图)
  15. python人狗大战游戏_day23 02 组合(继续人狗大战游戏)
  16. 今日恐慌与贪婪指数为28,等级由极度恐慌转为恐慌
  17. nc63文件服务器,nc命令传输文件
  18. 告别Ubuntu,与Win 10闹别扭
  19. maven本地仓库设置
  20. UVA340紫外线灯管

热门文章

  1. oracle佣金高于薪金60%,oracle的SQL练习题
  2. python————简易的编程题目
  3. mac alfred和dash安装配置
  4. AMD的双向田忌赛马:7nm中端CPU挑落顶级i9,旗舰GPU只对位NV三当家 | CES 2019
  5. 虚拟带库(VTL)备份恢复解决方案
  6. 詹姆斯·高斯林-JAVA之父
  7. Mac壁纸软件哪款好用?Wallpaper Wizard可以一试
  8. 8421码,5421码,2421码,余3码课后学习及整理
  9. 百度地图样式冲突问题
  10. 日常英语---十二、MapleStory/Monsters/Level 1-10(Horny Mushroom)