您的位置:首页 > 运维架构 > Shell

基本的bash shell命令

2017-09-23 12:29 204 查看
1、遍历目录

cd destination   //切换路径 destination可以是绝对路径或者相对路径(绝对路径用正斜线/作为起始,相对路径中,单点符(.)表示当前目录,双点符(..)表示当前目录的父目录)

cd               //切换到用户主目录   CLI显示的~代表当前工作目录位于用户home目录之下

pwd              //print work directory 打印当前工作目录

2、文件和目录列表

ls               //显示当前目录下的文件和目录  按字母排序(按行)

ls -i            //可以查看文件的inode编号

ls -F            //-F参数在目录名后加了正斜线/,可执行文件后加* 可执行文件的链接后加@

ls -d            //只列出目录本身内容,不列出其中内容

ls -a            //显示隐藏文件

ls -F -R         //-R列出当前目录下包含子目录中的文件

ls -l            //长列表格式的输出,第一行显示目录中包含的总块数,在每行中列出了单个文件或目录以及关于文件的一些信息:

                 //文件类型、文件权限、文件硬链接总数、文件属主的用户名、文件属组的用户名、文件大小、文件上次修改时间、文件名或目录名

                 //文件类型:目录(d)、文件(-)、字符型文件(c)、块设备(b)

可以将多个参数结合起来使用 eg: ls -alF

3、过滤输出列表

ls -l file       //用户可以指定特定文件的名称作为过滤器,此时只显示该文件信息

ls -l fi?e       //ls命令能够识别标准通配符,并在过滤器中用它们进行模式匹配(文件扩展匹配):?代表一个字符;*代表零个或多个字符;中括号[]表示一个字符位置并给出多个选择(可列出字符也可用-给出范围)或者用!将不需要的内容排除在外;

            

4、创建文件

touch file       //创建空文件,并将用户名作为文件的属主,此命令还可以用来改变文件的修改时间。这个操作并不需要改变文件内容。

touch -a file    //改变文件访问时间

ls -l --time=atime file     //显示文件访问时间

5、复制文件

cp source destination       //将文件从一个位置复制到另一个位置

cp file1 file2              //file1复制成file2,并且以file2命名

cp -i file1 file2           //file2已存在时,加-i会提示是否覆盖已有文件

cp -i file /home/...        //以/开头的是目录,注意不存在的目录用/开头,或者使用正确的相对路径,否则会创建成文件。

cp -R source destination    //递归地复制整个目录的内容

6、制表键(Tab)自动补全

使用制表键自动补全的技巧在于要给shell足够的文件名信息,使其能够将需要文件同其他文件区分开

7、链接文件

链接是目录中指向真实文件位置的占位符,在linux中有两种不同类型的文件链接:

a、符号链接:它指向存放在虚拟目录结构中某个地方的另一个文件。这两个通过符号链接在一起的文件,彼此的内容并不相同。要为一个文件创建符号链接,原始文件必须事先存在。然后利用ln命令以及-s 选项俩创建符号链接(ln -s datafile s1_datafile),创建出来的文件是两个不同的文件,其inode编号是不同的。

b、硬链接:会创建独立的虚拟文件,其中包含了原始文件的信息和为位置。但是他们从根本上而言是同一个文件,inode号也相同。引用硬链接文件等同于引用了源文件。要创建硬链接,原始文件也必须事先存在,只不过这次使用ln命令时不需要加入额外的参数了。(ln datafile h1_datafile)

注:只能对处于同一存储媒体的文件创建硬链接。要想在不同存储媒体的文件之间创建链接,只能用符号链接。

8、重命名文件

在linux 中,重命名文件被称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或重新命名。

mv fall fzll         //将fall文件重命名为fzll

mv file directory    //mv命令也可以用来移动文件的位置,这一操作并不会改变文件的inode编号或时间戳

mv file directory/file2   //mv命令可以移动位置的同时修改文件名称。

9、删除文件

在linux中,删除(deleting)叫做移除(removing)。

rm -i file            //会询问是否要移除文件file,输入y确认移除

rm -i fi?e            //使用通配符删除成组文件

rm -f file            //使用-f参数强制删除文件,小心使用

10、创建目录

mkdir new_dir          //创建目录

mkdir -p new_dir/sub_dir/under_dir   //同时创建多个目录和子目录需要加入-p参数

10、删除目录

rmdir dir               //默认情况下,rmdir只删除空目录

rm -ri dir              //可以在整个非空目录上使用rm命令,使用-r选项使得命令可以向下进入目录,删除其中的文件,然后删除自身。

rm -rf dir              //此命令没有警告信息也没有信息提示,可以一口气删除目录及其所有内容,但是一个危险的工具

11、查看文件类型

file command.txt        //显示文件类型,eg:ASCII text、link、directory、脚本、二进制可执行文件

12、查看整个文件

cat file                //显示文本文件的内容

cat -n file             //-n参数给所有的行加上行号

cat -b file             //只给有文本的行加上行号

cat -T file             //不让制表符出现,-T参数会用^I字符组合替换文中的所有制表符

注:对于大的文件,cat命令有点繁琐。文件的文本会在显示器上一晃而过

more file               //more命令是分页工具,会在显示每页书记后停下来,按空格显示下一页,或按回车显示下一行,输入q退出。more命令只支持文本文件中的基本移动。

less file               //less命令是more的升级版,还支持上下键翻页。

man less                //man 命令可以浏览对应的手册页

13、查看部分文件

tial file               //默认查看后10行数据

tail -n 2 file          //输入-n修改所显示的行数 或者tail -2 file

注:-f参数是tail命令的一个突出特性。它允许你在其他进程使用该文件时查看文件内容。tail命令会保持活动状态,并不断显示添加到文件中的内容。这是实时监测系统日志的绝妙方式。

head file               //默认查看开头10行数据

head -n file            //修改显示的行数

注:文件开头通常不会改变,因此head命令并不像tail命令那样支持-f参数特性,head命令是一种查看文件起始部分内容的便捷方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: