# Linux **Repository Path**: ig__wxz/linux_problem_summary ## Basic Information - **Project Name**: Linux - **Description**: 总结一下 linux系统使用以来出现的问题和解决方法 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-07-02 - **Last Updated**: 2022-04-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 常用linux命令 罗列 ### 解压缩-安装 ``` // 安装deb文件 sudo dpkg -i xxx.deb // 如果有未安装的包导致失败,执行下面命令 sudo apt-get -f -y install // 解压.tar.gz gunzip redis-4.0.10.tar.gz // 解除归档.tar tar -xvf redis-4.0.10.tar // x:extract(提取) v:verbose(显示详情) f:file // 创建归档.tar c:create v:verbose(显示详情) f:file tar -cvf 1.tar file1 file2 // 将两个文件归档成1.tar ``` linux向日葵安装需要命令:`sudo apt install -f` ### 调试命令 ``` # 查看某个命令位置 (sudo)which python # 查看历史命令 history ``` ### 文件操作 - 创建/删除目录 ``` // 创建目录 若不存在xyz,则创建xyz mkdir -p xyz/abc // 删除目录 rmdir abc ``` - 创建/删除文件 ``` // 创建文件 touch 1.txt // 删除文件 // -i:交互式删除,每个删除项都会进行询问。 // -r:删除目录并递归的删除目录中的文件和目录。 // -f:强制删除,忽略不存在的文件,没有任何提示。 rm -rf error.txt ``` ``` // 将目录下的文件名生成txt,并加上路径 ls Result | sed "s:^:./Result/:" >> list.txt ``` - 拷贝/移动 ``` // 拷贝 cp 1.txt file/ // 将1.txt拷贝到file目录下,名字不变 cp 1.txt 2.txt // 将1.txt拷贝到当前目录,名字改为2.txt cp -r route1 route2 // 1路径拷贝到2路径上 // 移动 mv 1.txt 2.txt // 移动到当前目录,名字改成2.txt ``` - 查找文件/内容 ``` // 查找文件名(搜索自路径) // 路径默认当前 maxdepth:设定最大深度(默认无穷) mindepth:设定最小深度(默认1) name:查找关键字 // type:d目录 f文件 find /etc -maxdepth 2 -mindepth 2 -name *.conf -type d // 查找+其他操作 find /etc/ -name *.conf -exec cp -rp {} /mnt // 把/etc/目录下名称中带有.conf的文件递归复制到/mnt下 find /mnt -name "*.conf" -exec rm -fr {} // 删除/mnt名称中带有.conf的文件 // 查找内容 grep 123 1.txt 2.txt // 在两个文件中,查找内容包括123的行 ``` - 显示文件/内容 ``` // 列出所有文件 ls -l // l:以较长个数输出 // 显示文件内容 cat -n file1 // -n:显示行标号 ``` - 链接 ``` // 硬链接 不使用于folder ln 1.txt 2.txt // 2.txt指向1.txt的内存,删除1.txt,2.txt依旧存在可用 // 软连接 会有链接符号 ln -s 1.txt 3.txt // 3.txt为1.txt的快捷方式,删除1,3就失效了 ``` - 权限/所有者 ``` // u:拥有者 g:同一group者 o:其他人 a:all。 // +:增加权限 -:取消权限 =:唯一设定权限。 // r:可读取 w:可写入 x:可执行 chmod ug+w,o-w file1.txt file2.txt // 添加u、g可以写的权限,去除o可以写的权限 // 修改文件所有者 chown ccc readme.txt // 修改成ccc,ln -l查看 ``` ### 文本处理 awk命令极其强大 - 删/添/插行 ``` // sed 只改变显示,不改变文件内容 // a:第n行后添加add i:第n行前插入insert d:第n行删除delete sed '2a 123' 1.txt // 第2行后插入123 ``` - 替换 ``` // 把每一行第一个123 替换成321 sed 's#123#321#' 1.txt // 把每一行所有123 替换成321 sed 's#123#321#g' 1.txt ``` ### 其他 - 别名 ``` alias ll='ls -l' # 设置ll为别名 alias py27="/usr/bin/python" # 在~/.bashrc同样可以这样,方便管理PYTHON ```