基本的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 ...
随机推荐
- php连接access
1.在控制面板中打开管理工具图标. 2.双击其中的数据源(ODBC)图标. 3.选择系统 DSN 选项卡. 4.点击系统 DSN 选项卡中的添加. 5.选择Microsoft Access Drive ...
- Mysqldump导入数据库很慢的解决办法
https://blog.csdn.net/xizaihui/article/details/53103049 1.MySQLdump导出的SQL语句在导入到其他数据库的时候会相当慢,甚至几十秒才处理 ...
- Java面向对象(一) 类和对象
一.软件开发进化史 摘自<从零开始学架构> 机器语言(1940年) 最早的软件开发使用的是“机器语言”,直接使用二进制码0和1来表示机器可以识别的指令和数据. 汇编语言(20世纪40年代) ...
- Dubbo学习-1-基础知识
分布式基础理论 1.什么是分布式系统: 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统.分布式系统是建立在网络之上的软件系统 随着互联网发展,网站应用规模的不断扩大,常规的 ...
- windows 系统再重启后,USB口失效(鼠标、U盘都无法识别)的过程及解决方法
今天都差点忘记写随笔.今天在工作中,将电脑重启了一次,悲催了.重启完成后,鼠标无法使用了.最初认为 鼠标的问题,就一直"砸",但后来换了鼠标,仍然不能使用,开始认为没这边简单,拿出 ...
- 攻防世界 | level0
先反编译 : int __cdecl main(int argc, const char **argv, const char **envp) { write(1, "Hello, Worl ...
- [NOIP2016]蚯蚓 题解
题目描述 本题中,我们将用符号[c]表示对c向下取整,例如:[3.0」= [3.1」= [3.9」=3.蛐蛐国最近蚯蚓成灾了!隔壁跳蚤国的跳蚤也拿蚯蚓们没办法,蛐蛐国王只好去请神刀手来帮他们消灭蚯蚓. ...
- 第九届ECNU Coder A.足球锦标赛
题目链接:http://acm.ecnu.edu.cn/contest/16/problem/A/ 题目: A. 足球锦标赛 Time limit per test: 2.0 seconds Time ...
- php面试专题---17、MySQL的SQL语句编写考点
php面试专题---17.MySQL的SQL语句编写考点 一.总结 一句话总结: 注意:只写精品 1.MySQL的关联UPDATE语句? 关键UPDATE A,B:UPDATE A,B SET A.c ...
- 黑马lavarel教程---2、获取用户输入
黑马lavarel教程---2.获取用户输入 一.总结 一句话总结: lavarel中获取用户输入可以通过Input外观模式和Request外观模式,两者的对应的方法啥的都一样,比如get.all.o ...