Linux之更好的使用Bash
2015-11-22 02:30
316 查看
http://www.awolau.com/linux/start-bash.html#more
接触过Linux的童鞋肯定会知道,在Linux操作系统环境下,命令行操作有时候给我们带来极大的帮助,对于命令行“狂热者”们而言,相信Bash命令已经成为他们日常操作不可或缺的一部分。今天给大家介绍一些Bash相关的知识,让初学者认识bash,也希望能让老手更加高效利用bash命令。
![](http://images2015.cnblogs.com/blog/577880/201511/577880-20151122022834733-1873582714.png)
Bash
案例使用如下:
cp命令后面跟的参数说明:
[options]主要参数
参数说明:
参数说明:
参数说明:
eg:
参数说明:
mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
接触过Linux的童鞋肯定会知道,在Linux操作系统环境下,命令行操作有时候给我们带来极大的帮助,对于命令行“狂热者”们而言,相信Bash命令已经成为他们日常操作不可或缺的一部分。今天给大家介绍一些Bash相关的知识,让初学者认识bash,也希望能让老手更加高效利用bash命令。
![](http://images2015.cnblogs.com/blog/577880/201511/577880-20151122022834733-1873582714.png)
Bash
关于Bash、Shell
Bash是一个为GNU计划编写的Unix shell,也是目前大多数Linux发行版采用的Shell。Shell英文翻译为“贝壳”,顾名思义,Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。 Bash是linux默认的shell,bash 的东西非常的多,包括变数的设定与使用、 bash 操作环境的建置、资料流重导向的功能,掌握一些shell操作技巧,还有那好用的管线命令是很有必要的。基本Bash命令
pwd命令
pwd:显示当前工作路径。
ls列表文件命令
ls [-adlsht] [PATH]:列出当前[PATH]目录下的非隐藏文件
-a显示所有文件
-d显示目录本身
-l以列表形式显示详细信息
-s显示文件大小,单位块
-h带度量单位显示
-t按最新修改时间显示
cd切换目录命令
cd [PATH]:切换到PATH目录
..表示上一级目录;
.表示当前目录;
/表示根目录,也即Linux下的顶级目录;
~表示当前用户主目录,例如root用户的
~为
/root,achao用户的
~为
/home/achao
案例使用如下:
[root@www home]# pwd /home [root@www home]# ls a.txt test [root@www home]# ls -al total 12 drwxr-xr-x 3 root root 4096 Feb 26 00:51 . drwxr-xr-x 18 root root 4096 Jan 5 21:46 .. -rw-r--r-- 1 root root 0 Feb 26 00:51 a.txt drwxr-xr-x 2 root root 4096 Feb 26 00:52 test [root@www home]# ls -ls ./test/ total 4 4 -rw-r--r-- 1 root root 1 Feb 26 00:52 b.txt [root@www home]# |
cp复制命令
cp FILENAME1 FILENAME2:复制FILENAME1到FILENAME2
cp -r DIR1 DIR2:复制DIR1目录到DIR2目录
cp命令后面跟的参数说明:
-a:–archive,与同时指定 DIR1 这三个选项效果一样,用于复制整个目录,包括目录中的子目录等都递归的复制,而且还要保持文件的访问模式,所有者,时间戳等属性与原文件一样。
-f:表示覆盖已经存在的目标文件而不提示
-i:参数i和f相反,表示在覆盖目标文件之前将给出提示要求用户确认,回答y时目标文件将被覆盖,是交互式拷贝.
mv移动重命名命令
mv [opitons] 源文件或目录 目标文件或目录
[options]主要参数
-i:交互方式操作,如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件.
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
mv hello ../将hello目录或者文件移动上一级.
mkdir创建目录命令
mkdir [选项] 目录
参数说明:
-m: —mode=模式,如755,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx 减 umask
-p: —parents 递归创建目录,可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
rm删除命令
rm [选项] 文件
参数说明:
-f: —force 忽略不存在的文件,从不给出提示。
-i: —interactive 进行交互式删除
-r: -R, —recursive 指示rm将参数中列出的全部目录和子目录均递归地删除。
chown更改所有者命令
chown [-cfhvR] user[:group] file...
参数说明:
-c: 若文件拥有者确实已更改,才显示其更改动作
-f: 若无法更改,也不要显示错误信息
-h: 只对link文件进行更改,而非该link真正指向的档案
-v: 显示拥有者变更的详细资料
-R: 对目录下所有文件文件夹递归更改
user:[group]: 指的是更改为group组中的user用户
eg:
chown -R fenix:root *:表示将当前目录下所有文件和文件夹改为root组的使用者fenix
chmod更改权限命令
chmod [-cfvR] mode file...
参数说明:
mode : 权限设定字串,格式如下 : [ugoa…][[+-=][rwxX]…][,…],其中
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
Bash中常用的快捷键
删除快捷键
Ctrl+
l:清屏
Ctrl+
k:清除光标后至行尾的内容
Ctrl+
u:清除光标前至行首的内容
Ctrl+
h:删除光标前一个字符
Ctrl+
w:删除光标前一个单词
Ctrl+
w:粘贴或恢复上次的删除
Alt+
r:撤销当前行的所有内容
编辑快捷键
Ctrl+
a:移到命令行首
Ctrl+
e:移到命令行尾
Alt+
f:按单词前移(右向)
Alt+
b:按单词后移(左向)
Alt+
c:从光标处更改为首字母大写的单词
Alt+
u:从光标处更改为全部大写的单词
Alt+
l:从光标处更改为全部小写的单词
Ctrl+
t:交换光标处和之前的字符
Alt+
t:交换光标处和之前的单词
Bang (!) 命令
history:查看历史命令
!n:不再需要复制粘贴,直接运行执行历史上面的命令,只需将n替换为这条命里记录前的序号,比如
!453
!-n:表示执行导入第几个命令
!!:执行上一条命令
Ctrl+
r:然后输入关键字,查找带有关键字的历史命令后回车,即可运行这条历史命令
相关文章推荐
- 常用的shell脚本
- Linux Shell 常用命令总结
- yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
- yum(Fedora和RedHat以及SUSE中的Shell前端软件包管理器)命令详解
- mac bash
- eclipse学习bash shell 的插件 DLTK
- login shell和non-login shell
- shell脚本复制文件夹内容到另外的文件夹,如果存在则自动备份
- bash手册
- 1到10所有数字相加求和
- shell编程打印乘法口诀
- Java常用排序算法(快速排序/插入排序/shell排序)
- awk&sed日常用法记录
- shell 函数参数为数组传递
- bash基本语法
- line-ending
- .bash_profile不生效解决办法
- shell 脚本
- bash: rz: command not found
- shell 脚本判断某个文件是否存在