文章目录
Bourne shell:/bin/sh
shell是运行命令行的应用程序,而命令行就是用户输入的那些命令
shell的使用
cat命令
显示一个或者多个文件内容
标准输入输出
基础命令
ls命令
- ls -l 显示详细的列表
- ls -F显示文件类型信息
cp命令
- cp命令用来复制文件
cp file1 file2 - cp命令将多个文件度知道目录dir
cp file1 file2 dir
mv 命令
- 重命名
mv file1 file2 - 将多个文件移动到某个目录
mv file1 file2 dir
touch 命令
- 创建文件
touch file
rm命令
- rm命令用来删除文件
rm file
echo 命令
- 命令将他的参数显示到标准输出
echo hello again
浏览目录
- 目录之间使用/分割
- (…)标示上一级
- (.)表示当前
cd命令
- cd命令用于设置当前工作目录
cd dir
Mkdir命令
- mkdir命令用于创建新目录
mkdir dir
Rmdir命令
- rm命令删除目录
rm dir
shell通配符
- shell可以使用通配符匹配文件名和目录名,*代表任意字符和数字,下面的命令列出当前目录中的所有文件
echo * - at* 展开为所有at开头的文件名
中间命令
grep命令
- gerp 显示文件和输入流中和参数匹配的行
grep root /etc/passwd
grep root /etc/* - -i不区分大小写
- -v(翻转匹配,就是显示不匹配的行)
- grep有一个强大功能egrep=grep -E
less 命令
-需要看文件过大或者内容过多得需要滚动屏幕的时候可以使用less命令
les file
- 或者查询需要用less 查看结果
grep ie /usr/share/dict/word | less
pwd命令
- 输出当前工作目录名
pwd ./
diff命令
- 查看两个文件的不同
diff file1 file2
find和locate命令
- find 在目录中查找文件
find dir -name file -print - locate在系统的文件索引中查找文件,这些索引由系统周期性更新,速度比find快速,可能查找不到新文件。
head命令和tail命令
- head命令显示文件前10行内容。tail显示文件的最后10行内容
- -n 显示行数
head -5 /etc/passwd - 从第n行开始显示所有内容
- tail +n
sort命令
- -n选项按照数字顺序排序那些以数字开头的行,默认是字母顺序排序。-r选项是反向排序
更改密码和shell
- 使用psswd更改密码
dot文件
- ls -a
环境变量和shell变量类似,但其不仅仅针对shell。Unix系统中所有的进程都能够访问环境变
量。两者最大的区别是shell变量只能被当前的shell访问,在shell中运行的命令则无法访问。而环
境变量能够被shell中运行的所有进程访问。
环境变量和shell变量
- 环境变量 export命令设置
STUFF=Blah
export STUFF
命令路径
- Path命令路径
- 运行查看所有路径组件
echo $PATH - 你可以设置PATH变量
- PATH=dir: P A T H / P A T H = PATH/PATH= PATH/PATH=PATH:dir
特殊字符
命令行编辑
文本编辑器
vi
获取在线帮助
- man ls
可以列举所有相关的命令 - man -k keyword
man 5 psswd
info command
shell 输入输出
- command>file 清空输入
- command>>file 加到末尾
- 在收集多个命令执行结果时非常有用,可以使用管道字符| ,将一个命令的执行结果输出到另外一个命令
- head /proc/cpuinfo
- head /proc/cpuinfo | tr a-z A-Z
标准错误输出
- ls /ffffffff>f 2>e
- ls /ffffffff>f 2>&1
标准输入重定向
- 使用<操作符将文件内容重定向为命令的标准输入
- head </proc/cpuinfo
很多unix命令可以使用文件名作为参数,座椅不太需要使用<重定向文件,上述命令也可以写成head /proc/cpuinfo
理解错误信息
解析unix的错误信息
-ls /dsafsda
查看和操作进程
终止进程
- kill pid 请求内核发送一个信号给进程
- kill -STOP pid 发送信号让进程暂停,而不是终止
- kill -CONTpid 被暂停的进程留在内存,等待被继续执行。使用CONT可以继续执行进程。
- -kill -9/kill -KILL
任务控制
后台进程
- gunzip file.gz & 解压文件后台执行
文件模式和权限
给予ls -l 来查询文件信息
更改文件权限
对于文件file,用户组g+其他用户o加上可读权限r
- chmod g+r file
- chmod o+r file
- chmod go+r file
取消权限 - chmod go-r file
- umask 命令来为文件设置预定义的默认权限
符号链接
创建符号链接
- ln -s 创建符号链接:
ln -s target linkname
归档和压缩文件
- gzip/tar
gzip命令
- 解压
gunzip file.gz - 压缩
gzip file
tar 命令
- tar cvf archive.tar file1 file2…
-
解压 - tar xvf archive.tar
压缩归档文件 .tar.gz
- gunzip file.tar.gz
- tar xvf file.tar
zcat命令
- zcat f file.tar.gz| tar xvf -
其他压缩命令
bzip2
zip
uzip
Linux目录结构基础
root目录下的其他目录
/usr目录
内核位置
超级用户的身份运行命令
sudo 命令
- 可以使用 vipw命令编辑 /etc/passwd文件例如
sudo vipw
/etc/sudoers
系统当然不会允许任何用户都能够以超级用户的身份运行命令,/etc/sudoers
可以使用 sudo visudo /etc/shdoers文件进行编辑