1.通常使用的是Ubantu.RedHad.Centos.SuSE
初识linux
/bin: 通常放系统文件按
/sbin 通常放管理命令
/root: 超级用户主目录
/lib: 存放程序运行的动态链接库
/etc: 配置文件和子目录
/usr: 存放用户应用程序和目录
/boot:存放启动linux的核心文件
/tmp:存放临时文件
/dev: 存放设备存储器
/opt: 安装软件的目录
/var:存放日志文件
-
man获取帮助
-
help 获取shell内置命令的帮助信息
man [命令] 获取帮助信息cd --help 查看cd命令的帮助信息
-
列出目录的内容
ls -a [目录或文件] 所有文件
ls -l [目录或文件] 长数据列出,包含文件的属性和权限 -
切换目录
cd ~回到自己家的目录
cd - 回到上一次所在的目录
cd … 返回上一级目录 -
创建新目录
mkdir dirname
mkdir -p dirname]/dirname 创建多级目录 -
删除一个目录
rmdir 空目录 删除一个空目录
rm -r 删除目录有提示
rm -f 删除目录无提示强行执行 -
创建空文件
touch 文件名 -
cp -r source dest 递归复制整个source文件夹到dest
cp -p a b 带属性复制a到b -
移动文件(目录)或者重命名
mv a.xx a
mv /usr/soft /usr 移动文件 -
查看文件内容
cat -n filename 显示所有行的行号包括空行
-
more 分屏查看文件(一次性加载整个文件,基于vi编辑的文本过滤器)
more filename
空格 向下翻一页 回车向下翻一行 = 输出当前行的行号 :f 输出文件名和当前行的行号 q离开
- less 分屏查看文件(非一次性加载整个文件)
[pagedown]向下一页 [pageup]向上一页
/字符串 向下搜寻"字符串"的功能 n向下查找, N向上查找
?字符串 向上搜寻"字符串"的功能 同上
- head 显示文件头部内容
head -n 10 filename 查看文件头10行内容
head -n 10 filename | tail -n 5 查找5到10行的内容
- tail -n 6 filename 查看文件倒数6行
tail -f filename 实时追踪文件的内容
-
重定向> 和 追加>>
ls -l > 文件 列表内容写入a.txt中(覆盖)cat a.txt > b.txt 将文件1的内容覆盖到文件2 ls -al >> 文件 追加到文件的末尾 echo "infos" >> filename 在filename 中写入infos
-
ln软连接 (相当于快捷方式)
ln -s [原文件] + [软连接名] 替代起别名。
-
添加新用户
useradd username useradd -g 组名 用户名
-
passwd 设置用户密码
passwd username 设置此用户的密码 也是更改密码
- 查看有哪些用户
cat /etc/passwd
- 查看用户是否存在
id username
- su - (切换到用户并获得该用户的环境变量以及执行权限)
- 删除用户
userdel 仅删除用户
userdel -r 用户和目录都删除
- 修改用户
usermod -g 用户组 用户名
usermod -l username
- sudo 设置普通用户具有root权限
vi /etc/sudoers 91行
添加 kgc ALL=(ALL) ALL
- find 的用法
找文件类型: find filename/路径 -type d d 为文件类型表示为目录 -type按类型查找
找文件名字: find filename/路径 -name
找文件授权: find filename/路径 -perm
找文件所属组:find filename/路径 -group
找文件所属主: find filename/路径 -user username
找文件修改时间: find filename /路径 -m/ctime -/+n -mtime是指 修改时间 -ctime是 创建时间 +n代表 n天以前 -n代表n天以内
若查找的文件比较多 在最后可以用 -print 意思是将查找到的匹配的文件输出到标准输出
find filename/路径 -type f -exec rm -rf {} \; -exec相当于shell 编程结尾有分号 需要转义, 从-exec到\;结束是find的额外动作
- 快速定位文件 locate
updatedb 先更新数据库
locate filename 会 直接显示路径
-
grep 过滤查找文件里符合条件的字符串
grep "one" 可以执行标准输入 someone 则匹配one q 离开 grep “^root” 路径 支持正则表达式【】
|管道命令,是指|左边的运行结果 是|右边的输入条件或者范围
grep 选项 文件内容 源文件
grep -n 匹配此行及行号 路径
grep -v 显示不被匹配的行 路径
grep -o 仅显示匹配的字符串 路径
grep -q 静默模式 路径
grep -A 匹配的行及前几行 路径
grep -B 匹配的行及后几行 路径
grep -C 前后各几行 路径
grep -r 递归查找文件 路径
https://www.runoob.com/linux/linux-comm-grep.html
- zip 和unzip
zip -r 目录/文件 压缩目录
unzip -d /指定目录 指定目录解压zip文件
- gzip/gunzip(不能压缩目录)
gzip filename 原来的文件没有了 变成 filename.gz
gzip filename1 filename2 多文件压缩
tar 选项 打包名字 打包的内容/目录
tar -c 打包 产生.tar文件 内容/目录
tar -v 显示详细信息 内容/目录
tar -f 指定压缩后的文件名 内容/目录
tar -z 打包同时压缩 内容/目录
tar -x 解包 .tar文件 内容/目录
最简: -cf 打包 -xf解包
-
授权 chmod
r w x 分别表示读 写 执行 u 文件类型 g 属主 o 属组 a 其他用户 授权 第一种 chmod (若是文件夹加R) u+x,g+x,o-w 文件名 第二种 chomod (777)文件名
-
- 查看进程
ps aux | grep
ps -ef | grep
- 终止进程
kill [-9] 进程号 -9表示强迫进程立即停止
- top 查看健康状态
- 查看netstat 查看端口占用情况
netstat -anp | grep
netstat -nultp | grep 检测端口是否被占用
- crond 服务管理
systemctl status crond
systemctl stop crond
sysetmctl start crond
systemctl restart crond
- crontab 定时任务设置
crontab -e 编辑一个crontab定时任务
crontab -l 查询所有crontab任务
crontab -r 删除当前用户所有开启的crontab任务
进入编辑界面 * * * * *
项目 含义 范围
第一个“*” 分钟 0-59
第二个“*” 小时 0-23
第三个“*” 天 1-31
第四个“*” 月 1-12
第五个“*” 星期 0和7都代表周日
- *代表任意的时间 ,号代表不连续的时间 -号代表连续的时间范围 */n 每隔多久执行
- 查看文件系统磁盘占用情况
df -h
- 查看目录大小
du [选项】 -a显示目录下所有目录和子目录文件的大小 -s 显示总和 -h 看懂 的信息显示
- wc 文本统计命令
wc -w 统计单词个数 wc -l统计行数 wc -L 计算最长行的长度 wc -c 字节大小
- cut 文本操作命令
两种功能:其一就是显示文件的内容,读取参数file指明的文件 将它们输出到标准输出上。
其二 是连接两个文件或者多个文件 cut f1 f2 > f3 定位到f3
cut [选项] (参数)
-d 指定字段的分隔符,默认的字段为“Tab”
-f 显示指定字段的内容
- tr 用于转换或删除文件中的字符 单个字符处理工具
替换: cat file | tr “abc” “lmn” > new_file
凡是file中出现的a字母都替换成l,b都替换成m,c都替换成n
删除: cat file | tr -d ”abc“ > new_file
删除凡是在file文件中出现的‘a’ ,'b‘,'c’字符
cat file | tr -s "\n" > new_file
https://blog.51cto.com/snailwarrior/141281
- 文本排序命令
sort [选项] filename
-r 反向排序 -n 按数值排序
-t 指定分隔符 -k 指定分割后的位置序号
- rpm命令
- rpm -qa | grep 软件包 查询所安装的软件包
- rpm -e --nodeps 软件包 卸载软件不检查依赖
- rpm -ivh xxx.rpm 安装xxx.rpm i表示安装 v表示详细信息 h表示进度条
- yum命令
- yum -y install rpm软件包 y表示对所有提问都是yes
- yum search 可以安装的包
- yum -y remove rpm软件包
- 神器 sed命令
https://www.cnblogs.com/taosim/articles/3761007.html
ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|grep -v 10.0.3.15|awk '{print $2}'|tr -d "addr:" 获得当前地址