基本的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 ...
随机推荐
- css3-css3属性选择器
在HTML中,通过各种各样的属性可以给元素增加很多附加的信息.例如,通过id属性可以将不同div元素进行区分. 在CSS2中引入了一些属性选择器,而CSS3在CSS2的基础上对属性选择器进行了扩展,新 ...
- Clean Docker <none>:<none>
https://www.projectatomic.io/blog/2015/07/what-are-docker-none-none-images/ Reference: https://www.p ...
- hdu 6044 : Limited Permutation (2017 多校第一场 1012) 【输入挂 组合数学】
题目链接 参考博客: http://blog.csdn.net/jinglinxiao/article/details/76165353 http://blog.csdn.net/qq_3175920 ...
- 19 如何在String和Byte[]对象之间进行转换?
- JavaScript原型和闭包学习笔记
在这里先和大家推荐一个博客,这博客的<深入理解javascript原型和闭包(完结)>系列,看了比较多的视频和书本,这个博客讲得很耐人寻味. 深入理解javascript原型和闭包(完结) ...
- CSS3订单提交按钮Loading代码
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"& ...
- cordova+vue做的app解决引入cordova-plugin-splashscreen后启动先显示黑屏在显示启动页
先上项目目录结构cordova项目结构 android platform 结构 图中用红框框起来的为主要修改文件 这篇主要的讲cordova项目引用了cordova-plugin-splashscre ...
- Cookie由谁设置、怎么设置、有什么内容?
Cookie是由服务器生成,保存在客户端本地的一个文件,通过response响应头的set-Cookie字段进行设置,下面是一个示例: Cookie包含什么信息? 它可以记录你的用户ID.密码.浏览过 ...
- Android7.1后对于Toast类型窗口的限制
在处理问题的时候,经常会遇到ANR,停止运行等问题,经过分析和验证,和如下的一行关键log有关 WindowManager: Adding more than one toast window for ...
- Oracle查询中文乱码
1.查询Oracle服务端字符集 SQL> select userenv('language') from dual ; USERENV('LANGUAGE') ---------------- ...