基本按键及命令操作
按键 作用
Ctrl+d 键盘输入结束或退出终端
Ctrl+s 暂定当前程序,暂停后按下任意键恢复运行
Ctrl+z 将当前程序放到后台运行,恢复到前台为命令fg
创建文件
- touch
- 例:
touch test.c
touch lesson_{1..10}.txt
查看当前目录下的文件
- ls
- 例:
ls -a //显示所有文件包括隐藏文件
ls *.txt //显示 .txt格式的文件
ls -l //显示较长格式列出文件
获取帮助
- man
- –help
- 例:
man ls
ls --help
用户文件权限及管理
查看用户
who i am
su,su- 与 sudo
- su 可以切换到用户user,执行时需要输入目标用户的密码,sudo 可以以特权级别运行cmd命令,需要当前用户属于sudo组,且需要输入当前用户密码。su - 命令也是切换用户,同时环境变量也会跟着改变成目标用户的环境变量。
- –help
- 例:
sudo adduser lilei
用户组
- groups //查看用户所属的组
- 例:
groups <user>
查看文件
- cat
- cat |sort //将文本字典排序输出
为用户添加用户组
- usermod 命令可以为用户添加用户组,使用该命令你必需有 root 权限
- sudo usermod -G sudo
删除用户
- sudo deluser –remove-home
修改文件权限
每个文件的三组权限(拥有者,所属用户组,其他用户,记住这个顺序是一定的)就对应这一个 “rwx”,也就是一个 ‘7’ ,所以如果我要将文件“iphone6”的权限改为只有我自己可以用那么就这样:
chmod 700 <file>
目录结构及文件基本操作
目录路径
- 例:
cd .. //进入上级目录
cd ~ //回用户目录
cd //回用户目录
pwd //返回当前绝对路径
新建目录
- mkdir
- mkdir -p
复制
- cp
- cp -r //表示递归复制,将目录下面的目录一同复制
删除
- rm
- rm -r
移动
- mv
重命名
- mv <旧的文件名> <新的文件名>
查看文件内容
- cat
- cat -n //显示行号
- more //打开后默认只显示一屏内容,可以使用Enter键向下滚动一行
- head //显示文档头部
- tail //显示文档尾部
- tail -n 1 //显示尾部一行
- tail -f //不停地读取某个文件的内容并显示,起到实时监视的作用
环境变量与文件查找
变量( Shell 变量)
- declare tmp //创建tmp变量
- tmp=shiyanlou //变量赋值
- echo $tmp //读取变量的值
命令 说明
set 显示当前 Shell 所有环境变量,包括其内建环境变量(与 Shell 外观等相关),用户自定义变量及导出的环境变量
env 显示与当前用户相关的环境变量,还可以让命令在指定环境中运行
export 显示从 Shell 中导出成环境变量的变量,也能通过它将自定义变量导出为环境变量
添加自定义路径到“PATH”环境变量
PATH=$PATH:/home/shiyanlou/mybin
- 可以运行
mybin
目录下的可执行文件而不需要添加 ./<可执行文件> - 我们可以简单的使用下面命令直接添加内容到.zshrc中:
echo "PATH=$PATH:/home/shiyanlou/mybin" >> .zshrc
上述命令中>>表示将标准输出以追加的方式重定向到一个文件中,注意前面用到的>是以覆盖的方式重定向到一个文件中,使用的时候一定要注意分辨。在指定文件不存在的情况下都会创建新的文件。
变量删除
- unset <变量名>
让环境变量立即生效
在上面我们在 Shell 中修改了一个配置脚本文件之后(比如 zsh 的配置文件 home 目录下的.zshrc),每次都要退出终端重新打开甚至重启主机之后其才能生效,很是麻烦,我们可以使用source命令来让其立即生效,如:
source .zshrc
搜索文件
与搜索相关的命令常用的有如下几个whereis,which,find,locate。
- whereis简单快速
- locate快而全
- which小而精
- find精而细
文件打包与压缩
zip压缩
zip -r -q -o shiyanlou.zip /home/shiyanlou
du -h shiyanlou.zip
file shiyanlou.zip
第一行命令中,-r参数表示递归打包包含子目录的全部内容,-q参数表示为安静模式,即不向屏幕输出信息,-o,表示输出文件,需在其后紧跟打包输出文件名。
因为 Windows 系统与 Linux/Unix 在文本文件格式上的一些兼容问题,比如换行符(为不可见字符),在 Windows 为 CR+LF(Carriage-Return+Line-Feed:回车加换行),而在 Linux/Unix 上为 LF(换行),所以如果在不加处理的情况下,在 Linux 上编辑的文本,在 Windows 系统上打开可能看起来是没有换行的。如果你想让你在 Linux 创建的 zip 压缩文件在 Windows 上解压后没有任何问题,那么你还需要对命令做一些修改:
zip -r -l -o shiyanlou.zip /home/shiyanlou
unzip 解压缩
unzip shiyanlou.zip //解压到当前目录
unzip -q shiyanlou.zip -d ziptest //使用安静模式,将文件解压到指定目录
上述指定目录不存在,将会自动创建。如果你不想解压只想查看压缩包的内容你可以使用-l参数:
unzip -l shiyanlou.zip
创建一个 tar 包
- tar -cf shiyanlou.tar ~