Linux之Shell命令
开始接触Linux命令行,学习Linux文件系统导航以及创建、删除、处理文件所需的命令。
几个快捷键:
- Linux发行版通常使用Ctrl+Alt组合键配合F1~F7进入要使用的控制台,同样按键可返回图形界面,Ubuntu使用F7,RHEL则使用F1。
- 在Ubuntu的Unity中,可以使用Ctrl+Alt+T快速访问GNOME终端。
- Shift+Ctrl+N 在新的终端窗口中启动一个新的shell会话。
- Shift+Ctrl+T 在现有的终端窗口中的新标签中启动一个新的shell会话。
- Shift+Ctrl+W 关闭当前标签中的会话
- Shift+Ctrl+Q 关闭当前的终端会话
基本的bash shell命令:
- man:查看命令手册,如:man man
手册页是由分页程序来显示的,空格键翻页、回车键逐行查看、箭头键前后滚动,q键退出。 - pwd:显示出shell会话的当前目录
- cd:可以直接切换到绝对文件路径下的目录,也可以切换到相对文件路径下的目录,例如当前位于home目录下,想要切换到Documents子目录时,可以直接使用 cd Docuemnts 命令。 也可以使用双点符切换到上级目录,如:cd ../Downloads
-
ls:显示当前目录下的文件和目录
它有几个参数:
ls -F:区分开文件和目录
ls -a:将隐藏文件和普通文件和目录一起显示出来(ls默认不显示隐藏文件)
ls -l:以长列表格式输出每个文件的详细信息
ls -R:递归选项,列出当前目录下包含的子目录中的文件
可以有多个参数或合并来写:ls -F -R ls -FR
-
ls命令还支持在命令行中定义过滤器。这个过滤器就是一个进行简单文本匹配的字符串。可以把特定文件的名称作为过滤器,则ls命令只会显示该文件的信息。如:
ls -l my_script
-
ls命令也能识别标准通配符,并在过滤器中用它们进行模式匹配:
1.问号(?):代表一个字符
2.星号(*):代表零个或多个字符
3.中括号[ ]:一个字符的位置有多个可能的选择,也可以指定字符范围
4.感叹号(!):将不需要的内容排除在外
例:ls -l my_scr?pt ls -l my_s*t ls -l my_scr[ai]pt ls -l my_scr[a-i]pt ls -l my_scr[!a]pt
文件扩展匹配还可用于ls以外的其他shell命令。
shell提供了很多在Linux文件系统上操作文件的命令,这一篇学习一下有关文件与目录的一些基本的shell命令。
1.处理文件
-
touch:创建空文件
$ touch test_one $ ls -l test_one
-
cp:复制文件
在最基本的用法里,cp命令需要两个参数---源对象和目标对象:cp source destination
当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。
$ cp test_one test_two $ ls -l test_*
如果目标文件已经存在,cp命令并不会提醒这一点,所以最好加上-i选项,强制shell询问是否覆盖已有文件。
$ cp -i test_one test_two
-
cp命令也可以将文件复制进现有目录,复制的文件和源文件同名
$ cp -i test_one /home/christine/Documents/
也可以使用相对路径:
$ cp -i test_one Documents/
-
cp命令有个-R参数,可以用它在一条命令中递归地复制整个目录的内容。
$ cp -R Scripts/ Mod_Scripts $ ls -Fd *Scripts (d参数是只列出目录本身信息,不列出其中内容)
在执行cp -R命令之前,目录Mod_Scripts并不存在,他是随着cp -R命令被创建的,整个Scripts目录中的内容都被复制到其中。
-
mv:重命名文件
mv命令可以将文件或目录移动到另一个位置或者重新命名。$ mv fall fzll $ mv fzll Pictures/
也可以使用mv命令移动文件位置并修改文件名称:
$ mv/home/christine/Picture/fzll /home/christine/fall
-
rm:删除文件
基本格式:$ rm -i fall
如果要删除的文件很多且不受提示符的打扰,可以使用-f参数强制删除。
2.处理目录
- mkdir New_Dir:创建目录
-
要想要同时创建多个目录和子目录。需要加入-P参数:
$ mkdir -p New_Dir/Sub_Dir/Under_Dir $ ls -R New_Dir
-
rmdir:删除目录
默认情况下,rmdir命令只会删除空目录,如果目录中有文件的话,要先删除掉文件。
使用-r选项使得命令可以向下进入目录,删除其中的文件,然后再删除目录本身。$ rm -ri New_Dir
- rm -rf 命令:直接强制删除目录及其所有内容,并且没有提示。
3.查看文件
- file New_Dir:查看文件类型
-
cat test_one:查看文件内容
cat命令的几个参数:
-n:给所有的行加上行号
-b:只给文本行加行号(即忽略空行的行号)
-T:不让制表符出现 -
more命令:more命令是分页工具,可通过空格或回车浏览文本,q键退出。
- less命令:一次显示一屏的文本文件,能识别上下键以及上下键翻页。
-
tail命令:显示文件最后几行的内容,默认显示文件末尾10行。
tail命令加入-n参数可以修改所显示的行数:$ tail -n 2 test_one
-f参数允许在其他进程使用该文件时查看文件的内容。并且tail命令会保持活动状态,不断显示添加到文件中的内容,可以用来实时监测系统日志。
- head命令:显示文件开头几行的内容。同样有-n参数,但没有-f参数。