Linux 命令行

/**
 *  ls 查看当前目录下的文件
 *  -a 所有文件包括隐藏文件 
 *  -l 行的形式排列 
 *  -h 显现详细信息
 *  可以多个选项一起写  ls -lh   ls -al
 * */
ls [ -a -l -h] [路径]

/**
 * cd 切换目录
 * ~ 指用户的home目录 
 * 例 cd  ~ 返回home目录   cd ../ 上一级目录
*/
cd [路径]

/**
 * pwd 查看当前的工作目录
*/
pwd

/**
 * mkdir 创建文件夹
 * -p 表示自动创建不存在的父目录 
*/
mkdir [-p] 路径

/**
 * touch 创建一个新文件
*/
touch 路径

/**
 * cat 查看文件内容
*/
cat 路径

/**
 * more 用户查看文件内容 可翻页查看
*/
more 路径

/**
 * cp 复制文件 文件夹
 * -r 用于复制文件夹使用
 * 路径1 复制的文件或文件夹
 * 路径2 复制去的地方
*/
cp [-r] 路径1 路径2

/**
 * rm 删除文件 文件夹
 * -f 强制删除(不会提示弹出信息框)
 * -r 删除文件使用
*/
rm [-r -f] 参数1 参数2.... 参数n

/**
 * mv 移动文件 文件夹
 * 参数1 被移动的文件或文件夹
 * 参数2 移动去的路径
*/
mv 参数1 参数2

/**
 * grep 过滤 
 * -n 表示结果中显示匹配的行号
*/
grep [-n] 关键字 文件路径

/**
 * wc 做统计数量
 * -c 统计bytes 数量
 * -m 统计字符数量
 * -l 统计行数
 * -w 统计单词数量
*/
wc [-c -m -l -w] 路径

/**
 * which 查看命令方法 所在的路径
*/
which  要查找的命令

/**
 * find  按照文件名查找文件
 * 参数1 起始路径 从哪开始查找
 * 被查找的文件名 支持 通配符查找
 *  test*, 表示匹配test开头的
 *  *test, 以test结尾的
 *  *test*, 表示匹配包含test的
*/
find 参数1 -name 被查找的文件名
/**
 * + - 表示 大于和小于
 * n 表示大小数字
 * kMG表示大小单位, k(kb) M表示MB G表示GB
 * 例子1 查找小于10kb的文件  find / -size -10k
 * 例子2 查找大于100MB的文件  find / -size +100M
 * 例子3 查找大于1GB的文件  find / -size +1G
*/
find 参数1 -size + | - n[kMG]

/**
 * echo 在命令行输出内容
 * 
*/
echo 输出内容
echo `命令行` // `命令行` 命令行的内容会执行 执行结果 作为内容输出
echo 'asdasd' > a.txt // 将左侧的内容(asdasd) 覆盖 右侧的文件中 (原来的内容就不存在了)
echo 'asdasd' >> a.txt // 将左侧的内容(asdasd) 追加到 右侧的文件中 (向内容中添加)

/**
 * tail 查看文件尾部的内容 跟踪文件的最新更新
 * -f 持续跟踪
 * -num 查看尾部多少行 默认10行
*/
tail [-f -num] 路径


su [-] 用户 // su exit 用户的切换
sudo 其他命令 // 让一条普通的命令带有root权限

// 用户管理
groupadd 用户组名 // 创建用户名
groupdel 用户组名 // 删除用户名
/**
 * 创建用户
 * -g 指定用户的组(如果用户要存入已有的组 必须指定)
 * 不指定 -g 会创建同名的组并自动加入
 * -d 指定用户HOME 的路径  不指定HOME默认在 /home/用户名
 * */ 
useradd [-g -d] 用户名 

userdel [-r] 用户名 // -r 删除用户的home目录  不使用-r 删除用户 home目录保留

id [用户名] // 查看用户信息  不指定查看自身

usermod -aG 用户组 用户名  // 将指定的用户加入用户组

getent 命令 //查看当前系统中有哪些用户
getent passwd
getent group // 查看当前系统中有哪些用户组


// 修改文件文件夹的权限
chmod [-R] 权限 文件夹或文件


// linux 安装软件
// 需要root权限
yum [-y] [install | remove | search] 软件名


// 一些控制软件的命令

/**
 * systemctl 命令
 * start 开启
 * stop 关闭
 * status 查看状态
 * enable 开启开机自启
 * disable 关闭开机自启
 * */ 
systemctl start | stop | status | enable | disable 服务名

/**
 * ln 创建软连接
 * 参数1 被链接的文件或文件夹
 * 参数2 要链接去的目的地
*/
ln -s 参数1 参数2


// 一些内置的方法函数
/**
 * date 日期函数
 * %Y 年
 * %y 年份后两位
 * %m 月份
 * %d 日
 * %H 小时
 * %M 分钟
 * %S 秒
 * %s 时间戳
*/
date [-d] [+格式化字符串]

/**
 * ping 命令 检查服务器是否可连通状态
 * -c 检查次数 没有-c 无限次检查
*/
ping [-c num] ip或主机名

/**
 * wget 文件下载器
 * -b 后台下载
*/
wget [-b] url 

/**
 * 发送http 网络请求
 * -O 用于下载文件 当url是下载链接时 可以使用此选项保存文件
*/
curl [-O] url 


// 查看端口
yum -y install nmap  //下载插件
nmap ip 

// 查看端口占用
netstat-anp | grep 端口号

// 查看进程  -e 显示全部进程  -f 以完全格式化的形式展示
ps [-e -f] 

// 关闭进程 -9 强制关闭
kill [-9] 进程id

// 查看系统资源占用
top

// 磁盘信息监控 查看硬盘的使用情况
df [-h] 

/**
 * 查看cpu 磁盘的相关信息
 * -x 显示更多信息
 * num1 刷新间隔
 * num2 刷新几次
 * */  
iostat [-x][num1][num2]

/**
 * sar 查看网络相关统计
 * -n 查看网络
 * DEV表示查看网络接口
*/
sar -n DEV num1 num2


// 环境变量

// $ 符号 
echo $PATH  // 取得path环境变量的值
echo ${PATH}aaa //支持拼接字符串 path环境变量的值 + aaa

// 设置环境变量
/**
 * 永久生效 
 *      针对当前用户生效 配置当前用户的 ~/.bashrc 文件中
 *      针对所有用户生效 配置在系统  /etc/profile 文件中
 * */ 
export 变量名 = 变量值 // 临时设置

// 插件 lrzsz 上传下载
yum -y install lrzsz
rz // 上传
sz a.txt  // 下载


// 压缩 解压 
/**
 * tar 
 * -c 创建压缩文件 用户压缩模式
 * -v 显示压缩 解压过程 用户查看进度
 * -x 解压模式
 * -f 要创建的文件 或要解压的文件  -f选项必须在所有选项的最后一个
 * -z gzip 模式  不使用-z 就是普通的tar格式
 * -C 选择解压的目的地 用于解压模式
*/
tar [-c -v -x -f -z -C] 参数1 参数2 ... 参数n
tar -cvf test.tar 1.txt 2.txt 3.txt // 1 2 3 文件压缩到 test.tar 文件内
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt // 1 2 3 文件压缩到 test.tar.gz  文件内
tar -xvf test.tar // 解压文件至当前目录
tar -xvf test.tar -C /home/用户  // 解压到指定目录
tar -zxvf test.tar.gz -C /home/用户  // 解压到指定目录 

/**
 * zip 
 * -r 包含文件夹时 需要使用 -r 
*/
zip [-r] 参数1 参数2 ... 参数n
zip test.zip a.txt b.txt c.txt // 压缩问价
zip -r test.zip test a.txt  // 有文件夹时 用 -r

/**
 *  unzip 
 * -d 指定要解压的位置
*/
unzip [-d] 参数
unzip test.zip 
unzip test.zip -d 指定目录

你可能感兴趣的:(Linux 命令行)