Linux下的文件类型和操作命令
0.写一个shell脚本:
1.简单的写一个shell脚本
创建脚本文件时,首行必须加上#!/bin/bash
* #虽然是注释行,但在shell脚本文件中,会被执行
* !表示使用哪个shell执行脚本
#!/bin/bash
# 执行test.exe
test
如何成功执行shell脚本
* 将shell脚本所在目录添加到$PATH中PATH = $PATH:/home/dvp/test/bin
* 或者直接使用单点操作符(指向当前路径),引用这个脚本./test
注意给脚本文件添加权限:
ls -l test :查看权限
chmod -R 777 test;
2.shell脚本中引用变量:使用$引用
#!/bin/bash
str = "hello world"
nums =5
echo "say $str $nums time"
3. shell脚本引用命令:使用反引号``引用
#!/bin/bash
str = `which BDSJJS`
echo "BDSJJS find in $str"
4.shell脚本执行数学计算:$[math] bash shell只支持整数运算
#!/bin/bash
var1 = 100
var2 = $[$var1 +100]
echo the final result is $var2
5.退出脚本(查看退出码)$? 与 exit
退出码结果为0,正常;为正数,异常。
#!/bin/bash
var1 = 100
var2 = $[$var1 +100]
echo $?
#!/bin/bash
var1 = 100
var2 = $[$var1 +100]
exit = 5也可以是$var1
1.Linux下文件的类型:
- 普通文件(用[-]表示)
纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件 - 目录文件 ([d])
- 块设备文件 (说白了就是硬盘,/dev/hda1,[b])
- 字符设备 (串口,比如键鼠之类的, [c])
- 套接字
常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为 [s],最常在 /var/run目录中看到这种文件类型 - 管道文件
FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p] - 链接文件 [i]
例如文件权限中:[lrwxrwxrwx]
2. "drwxr-x---" 解释一下:
第一个d:表示文件类型,就是上述写的那些。
rwxr-x---:分别表示文件所有者、文件所有组、其他用户的权限。
另外补充一下:(可读、可写、可执行:4、2、1;4+2+1=7)
chomd -R 777 /home/a.txt
//改变三个用户对a文件的权限为可读可写可执行

3. Linux一些文件放置的位置:
- home:存放普通用户的相关文件
- bin :存放常用(普通的)的命令的文件
- sbin:存放具有一定权限才可以使用的命令的文件
- mnt:mnt默认光驱盒软驱的目录的文件
- boot:存放引导相关的文件
- etc:存放配置相关的文件(如mysql,Eclipse...)
- var :存放经常变化的文件
- usr :安装软件时的默认存放的文件
4. Linux下对文件的操作命令:
1.cat命令:查看内容较少的文件,concatenate连续文本,-n显示行数
cat -n /etc/file
、、
2.more命令:查看内容较多的文件,实时显示百分比,已经阅读了多少内容
more -n /etc/file
3.less命令:查看内容较多的文件(less is more),但是可以上下翻页
4.head命令:查看文件的部分内容,用于查看文件的前n行
head -n 20 /etc/file
5.tail命令:查看文件的部分内容,与head命令相反,查看文件后n行
tail -n 20 /etc/file
6.grep :在文件中搜素内容
常用选项:
-i :忽略大小写(ignore case)
-n :显示行号
-v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。
grep -n "root" /etc/file
grep [tf] /etc/file :正则表达式搜索,搜索关键字e或者f
7.find命令
find 原目录 -name ‘*.txt’
8.ls命令
ls- F : 区分文件和目录
9.软链接和硬链接(cp或者ln)
cp -l test1 test2 : 硬链接,可用ln代替
cp -s tset1 test2 : 软链接
10.创建文件和目录:
touch test1 :创建文件
mkdir File1 :创建目录
5.Linux下对进程的shell命令
1.ps命令(查看进程)-e:全部进程;-f:显示完整的输出
ps -ef
2.top命令(实时监控进程)
显示:
时间,系统运行时间,用户数,平均负载(最近1min,5min,15min)
3.结束进程命令
kill -9 进程号
killall 进程名
4.使用alias给进程添加别名
alias -p:查看所有别名
alias lf = 'ls -F'
6.Linux下关于磁盘的shell指令
1.挂载指令
由于Linux将所有磁盘都挂载在一个虚拟目录之下,使用
mount :查看所有挂载磁盘
mount -t type device directory :挂载磁盘(文件类型,设备名,挂载位置)
mount -t vfat /dev/sdb1 /root/ :将u盘的sdb1挂载在root下
umount dirctory|device :移除挂载
2.查看磁盘空间指令
df -h
7.文件的压缩归档
包括:zip,gzip,tar(相对最常用,用于多个目录打包)
tar -cvf home_backup.tar /home1 /home2 :将home1和home2下所有文件打包至于home_backup.tar中
tar -tf home_backup.tar :不解包,只是列出包含文件
tar -xvf home_backup.tar :解包
tar -zxvf file1.tgz :解压使用gzip压缩过的tar文件,后缀.tgz
8.设置环境变量shell指令
1.查看显示全局/局部环境变量
printenv :查看全局环境变量
echo $java :显示单个环境变量
set: 查看除了所有全局环境变量以外的局部环境变量(局部环境变量与单独进程挂钩)
2.设置局部环境变量
假设有一个进程test,对其设置环境变量
test = /home/dvp/bin
echo $test :显示路径 /home/dvp/bin
test = 'test a string' :对于包含空格的环境变量,需加单引号
echo $test :显示路径 test a string
2.设置全局环境变量(全局环境变量在所有子进程中均可见)
test = /home/dvp/bin
echo $test
export test :创建局部变量后导入全局环境变量,使之成为全局环境变量
3.删除环境变量(unset)
unset test :注意不要在子进程中删除全局环境变量,无效
4.给PATH设置环境变量(PATH定义了命令行输入指令后,去哪里搜索)
echo $PATH
PATH = $PATH:/home/usr/test :PATH各个路径之间是用:分隔的
echo $PATH
echo $PATH
PATH = $PATH:. :将单点符加入PATH,表示当前路径
cd test
test :去执行文件的路径底下就可以直接执行
5.登陆shell
四个启动文件:
- /etc/profile ----->系统默认的bash shell启动文件,每个用户都会登录shell都会启动
- $HOME/.bash_profile :下面三个选用一个即可,注意bash_profile会先访问HOME目录下./bashrc里的路径,先启用改文件下的路径
- $HOME/.bash_login
- $HOME/.profile
本文来自博客园,作者:{author 周小鱼},转载请注明原文链接:https://www.cnblogs.com/zhouxiaoyu16/p/16071835.html

浙公网安备 33010602011771号