linux文件操作学习3

前言:

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

echo命令:

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

[user1@xianzan dir]$ echo "hello world"
hello world
[user1@xianzan dir]$ echo -n "hello world"
hello world[user1@xianzan dir]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin

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

[user1@xianzan dir]$ echo "hello world">echotest.txt
[user1@xianzan dir]$ cat echotest.txt 
hello world

export命令:

用于声明一个环境变量:
[user1@xianzan dir]$ export PATH=$PATH:/usr/local/bin
[user1@xianzan dir]$ echo $PATH
/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变量的值:

[xianzan@xianzan dir]$ echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/root/bin
说明:
如果在某次运行中,手动export一个变量,则在这次shell使用中,才能访问这个变量,或者在该shell启动的其他程序中,也可以访问这个变量,因为它们是这个shell的子进程。
 
 
要想在linux启动时,环境变量对这个系统的所有用户都有效则修改 /etc/profile文件
[xianzan@xianzan dir]$ vim /etc/profile
环境变量生效:
[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命令来压缩;

通常这些选项会组合在一起使用。

[xianzan@xianzan dir]$ tar -czvf test.tar.gz
[xianzan@xianzan dir]$ tar -xzvf test.tar.gz 
./
./test3/
./test1/
./test2/
[xianzan@xianzan dir]$ ls
test1  test2  test3  test.tar.gz

file命令:

查看文件类型:ASCII、data、bin等:
[xianzan@xianzan dir]$ file /etc/passwd
/etc/passwd: ASCII text
[xianzan@xianzan dir]$ file /usr/sbin/atrun 
/usr/sbin/atrun: POSIX shell script text executable
[xianzan@xianzan dir]$ file /dev/fb0
/dev/fb0: character special
[xianzan@xianzan dir]$ file /dev/sda1
/dev/sda1: block special

od命令:

查看二进制文件,格式: od [ -t TYPE ] 文件名
a: 利用默认的字符来输出
c: 使用ASCII输出
d: 十进制输出
f: 浮点数输出
o: 八进制输出
x: 十六机制输出

[xianzan@xianzan dir]$ od -t d /bin/ls
0344420           1           0           0         0
[xianzan@xianzan dir]$ od -t o /bin/ls
0344420 00000000001 00000000000 00000000000 00000000000

管道:

管道可以把一系列命令连接起来,这意味着第一个命令的输出会作为第二个命令的输入,通过管道传给第二个命令,第二个命令的输出又会作为第三个命令的输入,以此类推。显示在屏幕上的是管道行中最后一个命令的输出。通过使用管道符“|”来建立一个管道行。
[xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan
xianzan:x:500:500:xianzan:/home/xianzan:/bin/bash
[xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f1
xianzan
说明:
cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。
-d :自定义分隔符,默认为制表符,-d后面跟的就是截取的标志上面是以 :为截取的标志;
-f  :与-d一起使用,指定显示哪个区域,f1代表显示第一个字段。
[xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f2
x
[xianzan@xianzan dir]$ cat /etc/passwd |grep xianzan |cut -d: -f3
500

命令置换符:

命令置换是将一个命令的输出作为另外一个命令的参数部分。常用命令格式为:command1 `command2`上面这条命令表示,命令command2的输出将作为command1的参数,需要注意的是,命令置换符“`”为ESC键下方的“~”键不按shift的输出。
[xianzan@xianzan dir]$ ls `pwd`
1.c
[xianzan@xianzan dir]$ ls /home/`cat /etc/passwd |grep xianzan |cut -d: -f1`
dir  公共的  模板  视频  图片  文档  下载  音乐  桌面

标准输入、输出、出错:

标准输入<1>(Standard Input, stdin)是系统命令或程序获取输入的地方:
[xianzan@xianzan dir]$ cat
hello
hello
标准输出<2>(Standard Output, stdout)是系统命令或程序正确执行信息的输出地方:
[xianzan@xianzan dir]$ rm -rf *
[xianzan@xianzan dir]$ ls
[xianzan@xianzan dir]$ touch hello.txt
[xianzan@xianzan dir]$ ls
hello.txt
而标准出错<2>(Standard error, stderr)是系统命令或程序执行出错信息的输出地方:
[xianzan@xianzan dir]$ ls ls
ls: 无法访问ls: 没有那个文件或目录
说明:
Linux系统中默认的标准输入为键盘,标准输出和标准出错为终端屏幕。

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

输入重定向符 < :
[xianzan@xianzan dir]$ wc < /etc/passwd
  39     67     1883
行数  单词数   字节数
输出重定向>:
[xianzan@xianzan dir]$ tail /etc/passwd > stdout.txt
[xianzan@xianzan dir]$ tail /etc/passwd > stdout.txt
[xianzan@xianzan dir]$ cat stdout.txt 
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
输出追加重定向>>:
[xianzan@xianzan dir]$ tail /etc/passwd >> stdout.txt
[xianzan@xianzan dir]$ cat stdout.txt 
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
apache:x:48:48:Apache:/var/www:/sbin/nologin




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值