基本的bash shell
一、linux文件系统
linux文件系统结构是从Unix文件结构演进过来的。在linux文件系统中,通用的目录名用于表示一些常见的功能。如下表列出一些较为常见的Linux顶层虚拟目录名及其内容。
|
/ |
虚拟目录的根目录。 |
|
/bin |
二进制目录,存放许多用户级的GNU工具 |
|
/boot |
启动目录,存放很多启动文件 |
|
/dev |
设备目录 |
|
/etc |
系统配置文件目录 |
|
/home |
主目录,Linux在这里创建用户目录 |
|
/lib |
库目录,存放系统和应用程序的库文件 |
|
/media |
媒体目录,可移动媒体设备的常用挂载点 |
|
/mnt |
挂载目录,另一个可移动媒体设备的常用挂载点 |
|
/opt |
可选目录,常用于存放第三方软件包和数据文件 |
|
/proc |
进程目录,存放现有硬件及当前进程的相关信息 |
|
/root |
root用户的主目录 |
|
/sbin |
系统二进制目录,存放许多GNU管理员级工具 |
|
/run |
运行目录,存放系统运作时的运行时数据 |
|
/srv |
服务目录,存放本地服务的相关文件 |
|
/sys |
系统目录,存放系统硬件信息的相关文件 |
|
/tmp |
临时目录,可以在该目录中创建和删除临时工作文件 |
|
/usr |
用户二进制目录,大量用户级的GNU工具和数据文件都存放到这里 |
|
/var |
可变目录,用于存放经常变化的文件,比如日志文件 |
二、遍历目录
常用指令:$cd ----切换目录
$cd destination
$pwd------显示当前目录
1、 绝对路径
绝对路径定义了在虚拟目录结构中该目录的确切位置,以虚拟目录的根目录开始,相当于目录的全名。
2、 相对路径
相对文件路径允许用户指定一个基于当前位置的目标文件路径。
有两个特殊字符可用于相对文件路径当中:
l 单点符(.),表示当前目录;
l 双点符(..),表示当前目录的父目录;
三、文件和目录列表
1、基本列表功能
(1)、$ls
(2)、$ls –F, F参数的ls命令轻松区分文件和目录
[root@localhost ~]# ls -F
anaconda-ks.cfg install.log install.log.syslog netperf-netperf-2.5.0/ netperf-netperf-2.5.0.tar.gz 公共的/ 模板/ 视频/ 图片/ 文档/ 下载/ 音乐/ 桌面/
(3)、$ls –a,把隐藏文件和普通文件及目录一起显示出来
(4)、$ls –R,递归选项,它列出了当前目录下包含的子目录中的文件。
[root@localhost doc]# ls -F -R
.:
examples/ Makefile.am netperf.html netperf.man netperf.pdf netperf.texi netperf.xml omni_output_list.txt
Makefile Makefile.in netperf.info netperf_old.ps netperf.ps netperf.txt netserver.man texinfo.tex
./examples:
arr_script* Makefile.am netperf_interim_to_rrd.sh* runemomniagg2.sh sctp_stream_script tcp_range_script* tcp_stream_script* udp_stream_script
Makefile Makefile.in packet_byte_script* runemomni.sh snapshot_script* tcp_rr_script* udp_rr_script*
2、显示长列表
(1)、ls –l
[root@localhost doc]# ls -l
drwxrwxr-x. 2 root root 4096 9月 11 16:54 examples
输出结果中,每一行都包含了关于文件的以下信息:
- 文件类型,比如目录(d)、文件(-)、字符型文件(c)、或块设备(b);
- 文件权限;
- 文件的硬链接总数;
- 文件属主的用户名;
- 文件数组的组名;
- 文件的大小(以字节为单位);
- 文件的上次修改时间;
- 文件名或目录名。
3、过滤输出列表
$ls –l Makefile
[root@localhost doc]# ls -l Makef*
-rw-r--r--. 1 root root 30370 9月 11 16:54 Makefile
-rw-rw-r--. 1 root root 953 7月 20 2011 Makefile.am
-rw-rw-r--. 1 root root 30180 7月 20 2011 Makefile.in
- 问号(?)代表一个字符;
- 星号(*)代表零个或多个字符。
四、处理文件
1、创建文件
$touch test_one
[root@localhost a5000]# touch test_one
[root@localhost a5000]# ls -l test_one
-rw-r--r--. 1 root root 0 9月 18 17:19 test_one
2、复制文件
(1)、$cp test_one test_two。
[root@localhost a5000]# cp test_one test_two
[root@localhost a5000]# ls -l test*
-rw-r--r--. 1 root root 0 9月 18 17:19 test_one
-rw-r--r--. 1 root root 0 9月 18 17:22 test_two
(2)、$-i,强制shell询问是否需要覆盖已有文件。
[root@localhost a5000]# cp -i test_one test_two
cp:是否覆盖"test_two"?
(3)、$-R,递归的复制整个目录的内容。
[root@localhost test]# ls
test1
[root@localhost a5000]# cp -R test/ test1
[root@localhost test1]# ls
test1
五、链接文件
链接文件是Linux文件系统的一个优势,如果需要在系统上维护同一文件的两份或多份副本,除了保存单独的物理文件副本之外,还可以采用保存一份物理文件副本和多个虚拟副本的方法。这种虚拟的副本就称为链接。链接是目录中指向文件真实位置的占符位。在Linux中有两种类型的文件链接:
- 符号链接
- 硬链接
(1)、符号链接
符号链接就是一个实实在在的文件,它指向存放在虚拟目录结构中某个地方的另一个文件,这两个通过符号链接在一起的文件,彼此的内容并不相同,
$ln –s
要为一个文件创建符号链接,原始文件必须事先存在。
[root@localhost test]# ln -s test1 test
[root@localhost test]# ls -l
lrwxrwxrwx. 1 root root 5 9月 19 09:02 test -> test1
-rw-r--r--. 1 root root 0 9月 18 17:27 test1
显示在长列表中符号文件后的->符号表明该文件是连接到test1上的一个符号链接。
(2)、硬链接
硬链接会创建独立的虚拟文件,其中包含了原始文件的信息及位置。但是它们从根本上而言是同一个文件。引用硬链接文件,等同于引用源文件
$ln
[root@localhost test]# ln test1 test2
[root@localhost test]# ls -il
17634 -rw-r--r--. 2 root root 31 9月 19 09:26 test1
17634 -rw-r--r--. 2 root root 31 9月 19 09:26 test2
六、重命名文件
(1)、文件和目录移动到另一个位置或重新命名
&mv
[root@localhost a5000]# mv ./test/test ./Test1/yanzheng
[root@localhost Test1]# ll -s
0 -rw-r--r--. 1 root root 0 9月 18 17:27 test1
lrwxrwxrwx. 1 root root 5 9月 19 09:02 yanzheng -> test1
(2)、使用mv命令移动整个目录及其内容
root@localhost a5000]# mv test ./Test1/
root@localhost Test1]# ls -il
7628 drwxr-xr-x. 2 root root 4096 9月 19 09:36 test
7631 -rw-r--r--. 1 root root 0 9月 18 17:27 test1
7632 lrwxrwxrwx. 1 root root 5 9月 19 09:02 yanzheng -> test1
七、删除文件
$rm
参数:
- i:提示你是不是真的要删除该文件;
- f:强制删除;
八、创建目录
1) $mkdir
root@localhost a5000]# mkdir yy
root@localhost a5000]# ls -il
17629 drwxr-xr-x. 2 root root 4096 9月 19 10:02 yy
2) 如果想同时创建多个目录和子目录,需要加入-p参数
[root@localhost a5000]# mkdir -p ./yy/yy1/yy2
[root@localhost a5000]# cd yy
[root@localhost yy]# ls
yy1
[root@localhost yy]# cd yy1
[root@localhost yy1]# ls
yy2
九、删除目录
&rmdir
参数:
- r 选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本;
- f 强制删除,不提示(-rf没有警告信息,也没有提示)。
十、查看文件
10.1、查看文件类型
&file
[root@localhost Test1]# file test
test: directory
10.2、查看整个文件
(1)、cat
cat命令是显示文本文件中所有数据的得力工具。
- n 参数会给所有的行加上行号。
- b 给文本加上行号。
(2)、more
more是分页工具,可以一页一页的显示文件内容。
- 空格键:向下翻一页;
- Enter:向下滚动一行;
- q :退出;
- b :往下翻页。
(3)、less
一页一页翻动。
- l空格键:向下翻一页;
- [PgUp]:向上翻动一页;
- [PgDn]:向下翻动一页;
- /字符串:向下查询“字符串”的功能;
- ?字符串:向上查询“字符串”的功能;
- n :重复前一个查询;
- N :反复重复前一个查询;
- q :离开less程序。
(4)、tail
tail命令回显示文件最后几行的内容(文件的“尾部”)。
- n 修改所显示的行数。
- f 表示持续监测后面所接的文件名。
(5)、head
head命令,顾名思义,会显示文件开头那些行的内容。
- n 修改所显示的行数。
基本的bash shell的更多相关文章
- bash shell
Linux的shell 与windows只有一种批处理脚本不同,由于早年的Unix年代,发展者众,出现了各种不同的distribution,因此也随着不同的distribution出现了各自的shel ...
- Bash Shell内建命令和保留字
Bash Shell内建命令和保留字命令含义!保留字,逻辑非:不做任何事,只做参数展开.读取文件并在shell中执行它alias设置命令或命令行别名bg将作业置于后台运行bind将关键字序列与read ...
- Bash Shell 获取进程 PID
转载地址:http://weyo.me/pages/techs/linux-get-pid/ 导读 Linux 的交互式 Shell 与 Shell 脚本存在一定的差异,主要是由于后者存在一个独立的运 ...
- Learning The Bash Shell读书笔记(整理)
最近搞了一本书 Learning Bash Shell,发现有人已经写了阅读笔记,我就在这边整理一下 来自blog:http://blog.sina.com.cn/n4mine Learning Th ...
- bash shell命令(2)
在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...
- Linux命令行–基本的bash shell命令
启动shell: /etc/passwd:包含系统用户账户列表以及每个用户的基本配置信息 每个条目有七个字段,每个字段用冒号隔开 用户名 用户密码 用户的系统UID 用户的系统GID 用户的全名 用户 ...
- linux bash shell 流程控制(if/else )
本文转自:http://blog.csdn.net/flowingflying/article/details/5069646 本文也即<Learning the bash Shell>3 ...
- linux BASH shell设置字体与背景颜色
linux BASH shell下设置字体及背景颜色的方法. BASH shell下设置字体及背景颜色 echo -e "\e[31mtest\e[41m" \e[30m 将字 ...
- bash shell漏洞及测试
1.bash shell是大多数linux发行版本的默认shell命令解释器,但是最近爆出bash shell存在漏洞. 2.如果Bash是默认的系统shell,网络攻击者可以通过发送Web请求.se ...
- ipython, 一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数
一个 python 的交互式 shell,比默认的python shell 好用得多,支持变量自动补全,自动缩进,支持 bash shell 命令,内置了许多很有用的功能和函数. 若用的是fish s ...
随机推荐
- 载]mysqlhotcopy 热备工具体验与总结
载]mysqlhotcopy 热备工具体验与总结 今天有空尝试了一下MYSQLHOTCOPY这个快速热备MYISAM引擎的工具.(本文是针对单个服务器的情况,以后将会加入多服务器相关操作)他和MYSQ ...
- uiautomator2 使用注意的地方
uiautomator2项目地址:https://github.com/openatx/uiautomator2#basic-api-usages 下面记录一些自己在使用过程中的坑,仅供参考 1.通过 ...
- Angular:实现组件间双向数据绑定
学过Angular的同学都知道,输入框通过[(ngModel)]实现双向数据绑定,那么父子组件间能不能实现双向数据绑定呢?答案是肯定的. Angular中,我们常常需要通过方括号[]和圆括号()实现组 ...
- [luogu]P1041 传染病控制[dfs]
[luogu]P1041 传染病控制 ——!x^n+y^n=z^n 题目背景 近来,一种新的传染病肆虐全球.蓬莱国也发现了零星感染者,为防止该病在蓬莱国大范围流行,该国政府决定不惜一切代价控制传染病的 ...
- PHP 判断是否为手机端访问
/* * 判断是否为手机端 */function check_wap(){ // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 if (isset ($_SERVER['HTTP_X_W ...
- shell脚本一一项目4
主题:一键查看服务器使用率 cpu vmstat suyu wa memery free disk df -h /dev tcp连接数 netstat cpu(){ used=$(vmstat ...
- 使用Atom写你的笔记
使用Atom写你的笔记 本文参考简书笔记. 使用sync-settings同步你的Atom设置 使用sync-settings插件需要以下3个条件: 电脑已安装Atom Atom内已安装sync-se ...
- C++学习笔记(二)--基础
1.浮点型数值不管写成什么样 都是以指数形式保存在内存中 数符|数字部分|指数部分 例:+0.33E10 数字部分的整数部分不能大于1,小数点后面不能是0. 2.字符数据是以整数形式保存在内存中的(A ...
- jmeter 添加header
接口说明文档: article.fetch(通用转码服务) 通用转码服务,获取任意 url 的正文以及 title 等基本信息,仅支持 post 方法请求. 参数 参数 类型 是否必须 示例 其它说明 ...
- [Linux] 011 其它权限管理命令
1. 权限管理命令:chown 命令名称:chown 命令英文原意:change file ownership 命令所在路径:/bin/chown 执行权限:所有用户 语法:chown [用户] [文 ...