Shell命令可以接受一些特殊的字符来表示特殊的含义
*表示统配符,可以代表0-n 个字符
例如,列出所有以 .txt 结尾的文件
ls *.txt
? 表示任意一个字符
ls a?.txt
; 表示在一行命令执行多个命令,以 ;分割
例如:回到家目录,并列出所有文件
cd;ls
>和>>以及<
输出重定向符合,将来原本输出到命令行中的内容,重定向输入到另外一个地方。
>表示往文件写入内容,是覆盖操作
例如:把日历信息输出到a.txt中
cal > a.txt
>>表示往文件中追加内容
把时间信息追加到a.txt中
date >> a.txt
| 表示管道符,把第一个命令执行的结果交给第二个命令执行
例如:把日历通过打印机进行打印
cal | lp
在网络中配置好打印机才能完成打印
显示文件中的所有内容
例如:显示 a.txt 中的所有内容
cat a.txt
把 a.txt 和 b.txt 的内容合并到c.txt中
cat a.txt b.txt > c.txt
请空a.txt的内容
cat /dev/null > a.txt
more命令和cat命令一样,都是查看文件内容,但是more可以一点一点的查看内容,而不是一次显示全部内容。
例如:more /etc/passwd
在这种情况下,可以使用命令进行操作。
空格,每次往下翻一个屏幕的内容
回车,每次往下翻一行内容
b,每次向上翻回一页
f, 每次向下翻一页
q,退出当前查看内容界面
v,进入vi模式(只读),在vi模式下,输入:q 则退出vi模块回到more的查看模式
在vi模式下,使用/stirng,查找指定字符串,例如,/the 就是查找这个单词
在vi模式下,n,配合/string命令,可以快速调整跳到下一个指定字符串的位置
more可以和管道符一起使用,例如 ls -R | more
vi编辑器是所有Unix及Linux系统下标准的编辑器,他就相当于windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器。
三种模式:命令模式,命令行模式,编辑模式
environment variables
在操作系统中,可以设置一些环境变量(名字=值),将来在执行命令的时候,可以从指的环境变
量中获取到对应的值,也可以将来在我们写的程序中,通过环境变量的名字获取到这些值。
直接在命令行下输入:name=tom
通过 echo $name 得到tom值
注意,这种临时设置环境变量的方式,一旦关闭命令创建,这个环境变量就失效了
设置用户级别的环境变量:把环境变量配置到用户家目录中的.bashrc中
vi .bashrc
退出vi编辑器,使用source命令,让修改的文件生效:
source .bashrc
如果想设置全局的环境变量,就是所以用户都可以访问到,那么就需要在/etc/profile 中进行配置环境
变量,但是需要使用root权限才能修改,或者使用sudo命令。修改方式和上面一样。
在linux中一起皆是文件,一个个的指令都是对应一个个文件,但我们输入了命令后,linux通过PATH路径去寻找指令所在的文件
使用$PATH 可以查看到具体的路径
也可以使用which ls 查看命令所在的路径
临时把PATH的值设置为空之后,ls以及其他命令都是无法使用的,除非我们把当前路径切换到/bin目录中,因为默认会在当前目录下查找是否有要执行的命令文件
归档,把若干个文件或目录简单的合并在一起,它并不对文件进行压缩,就是将多个文件前后连接在一起,形成一个大文件。另外还会额外的添加一些信息,所以归档后的总文件的大小,反而往往比之前文件之和还要大一些。
例如:把指定的文件进行归档
tar -cvf work.tar a b c test1 test2
例如,解除归档文件到指定目录中
tar -xvf work.tar -C dir1
tar命令常用的选项及其作用:
压缩,是一种通过特定的算法来减小计算机文件大小的机制,Linux中的文件压缩命令有多种,其中最常用的命令就是gzip。
例如,将归档好的文件进行压缩
gzip work.tar
压缩之后变成work.tar.gz这个文件
在tar进行归档之后直接进行压缩:
rm work.tar.gz
tar -zcvf work.tar.gz a b c test1 test2
例如,对gz文件进行解压,解压到当前目录
gunzip work.tar.gz
例如,对tar.gz文件进行解压并解除归档
tar -zxvf work.tar.gz -C dir2