shell、shell脚本和linux命令区别
shell
- 命令行解释器,遵循一定的语法将输入的命令加以解释并传给系统
- 一种命令语言,互动式地解释和执行用户输入的命令
- 一种程序设计语言,面向过程,定义了各种变量和参数,提供控制结构
shell脚本
- 一个文本文件,为shell编写的脚本语言
- linux命令集
#!/bin/bash
linux命令
shell和终端的关系
- 终端会自动调用shell程序(bash——unix shell的一种 )
- root对应
# ,普通用户对应$
linux常用命令
关机和重启
- 关机
shutdown
- 立即关机
shutdown -h now - 5min后关机
shutdown -h 5 - 重启
reboot
目录操作
-
目录切换 cd -
目录查看 ls
- 查看所有目录和文件
ls - 查看所有目录和文件(包括隐藏)
ls -a - 查看详细信息(时间权限等)
ls -l - 指定目录查看
ls /usr -
目录增删改查
- 创建目录
mkdir -p /usr/dir1 - 删除目录
rm -rf /usr/dir1 - 目录修改
- 重命名目录
mv dir1 dir2 - 剪切目录
mv ./dir1/subdir ./dir2 - 拷贝目录或文件
cp -r ./dir1/subdir ./dir2 - 目录查找
find path -name "*.c" 默认递归查找
文件操作命令
文件增删改查
- 新建文件
touch a.txt - 删除文件
rm -rf fileName - 修改文件
vi
- 三种模式: 命令行+编辑模式+底行模式
- 命令行模式 查找
/字符 - 切编辑模式
i - 切底行模式
:
- 切命令行模式
ESC - 文件查看
cat 用于连接文件并打印到标准输出设备
- 显示文件
cat test.txt
- 将文件加上行号
cat -n test.txt - 空白行不加行号
cat -b test.txt - 从键盘创建一个文件
> 重定向 - 将几个文件合并为一个新文件
- 向文件追加内容
>> - 删除文件内容
- 日志重定向,不打印到标准输出
// 从键盘创建一个文件
cat > ./test.txt
> hello world!
> EOF
// 将几个文件合并为一个新文件
cat file1.txt file2.txt > file.txt
// 向文件追加内容
cat >> ./test.txt
> I am fine!
> EOF
// 日志重定向,不打印到标准输出 `1`为标准输出
cat $filename 1 > /dev/null
// 删除文件内容
cat /dev/null > ./test.txt
文件权限
- 为all用户增加执行权限
chmod a+x fileName chmod -R 777 fileName 递归
压缩文件
- 打包和压缩
tar -zcvf 压缩文件 源文件 - 解压缩
tar -zxvf 压缩文件
字符串文件等查找
find 在指定目录搜索文件 find path -name "*.c" which 在PATH变量指定的路径中,搜索系统命令的位置 which pwd grep 用法grep [option] "pattern" [file]
-i 忽略大小写-n 输出行号-v 输出不匹配的行-c 统计数量-w 匹配单词 - 基本的正则匹配规则 匹配规则
awk 用法 awk '{pattern + action}' {filenames}
awk '{print $1}' filename awk -F ':' '{print $1}' filename sed
网络
-
ping -
ifconfig 网卡信息 -
netstat
-t 显示tcp相关-u 显示udp相关-n 拒绝显示别名-l 仅列出listen状态的服务-p 显示建立相关连接的程序名netstat -tnlp | grep 8080
进程
查看内存等配置信息
cat
cat /proc/cpuinfo cat /proc/meminfo
|