Linux 常用命令列表

常用命令列表

基本文件操作类

  • cd :进入目录,cd -上一个目录
  • j :目录列表,-rt安时间倒序,-l详情
  • cp :复制文件,-r 复制文件夹,-u以更新的方式复制
  • mv :移动文件/文件夹
  • rm :删除文件,-r 删除文件夹,-f 强制方式
  • mkdir :创建文件夹 -p,连父目录一起创建
  • pwd :输出当前目录位置

权限操作类

  • su
  • chmod :修改文件/目录权限
  • chown :修改文件/目录拥有者
  • chgrp :修改文件/目录所归属组
  • usermod :修改用户帐号的各项设定

查看文件与编辑文件类

  • cat :用于连接文件并打印到标准输出设备上。合并多个文件cat *.sql >xxx.sql
  • tail :命令可用于查看文件的内容
  • history :显示历史执行命令
  • grep :用于查找文件里符合条件的字符串。也可以提取指字符,如按正则表达式提取mac地址grep -E -o '(\w{2}:){5}\w{2}'
  • tar-cvf/xvf建立,还原备份文件的工具
  • gzip :文件经它压缩过后,其名称后面会多出”.gz”的扩展名,-d解压
  • find :指定目录下查找文件
  • vim :编辑器
  • sed :自动编辑一个或多个文件;简化对文件的反复操作
  • awk :文本分析工具,详情
  • wc :统计字数
  • sort : 排序,-u去重,-n以数值方式比较,-t指定分隔符,-k指定第几列
  • uniq : 去重,连续重复行去重,可以先 sort再uniq,实现去重
  • xargs: 给其他命令传递参数的一个过滤器。拷贝文件ls *.jpg | xargs -n1 -I cp {} /data/images,删除文件sudo xargs rm -rf <filelist.txt

查看系统状态和系统操作

  • ps :显示当前进程的状态,-aux 显示所有包含其他使用者的行程
  • kill :于删除执行中的程序或工作,kill -0 xxx彻底杀死进程
  • top :实时显示进程和线程的动态
  • df :显示目前在Linux系统上的文件系统的磁盘使用情况统计
  • uname :显示电脑以及操作系统的相关信息,-a,-m,-n,-s,-v
  • ifconfig :于显示或设置网络设备,主要用于看本机ip
  • netstat :用于显示网络状态
  • service :服务管理,--status-all列出所有服务
  • crontab :定时任务
  • nohup :后台命令
  • tmux : 新开命令行窗口
  • w : 列当前用户
  • last : 当前用户最近的登录记录
  • lastlog : 所有用户的最近一次登录记录
  • lsof : 查看当前系统文件的工具,lsof -i:22查看端口占用
  • gpasswd sudo gpasswd -a ${USER} docker把当前用户添加到docker组中

多台之间机器

  • scp : scp root@192.168.2.3:/home/root/others/music /home/space/music/1.mp3

复杂的重点描述

sed

sed 功能强大,这里只写几个常用

  • sed -i 's/xxx/yyy/g' file : 把文件file内容中的所有xxx替换为yyy
  • sed -i 's/^db.host.*/db.host=1.1.1.1/g' testtxt.txt : 正则表达式,把以db.host开头的,进行替换。如果是动态内容,需要'"$XX"'这样写
  • sed -i '1czzz' file : 把文件file中的第一行替换成zzz
  • sed -i '$a end of file' file : 在文件file最后一行新增end of file
  • sed -i ""s/\r//"" test.file : 去掉文件中的\r

动作说明

  • a :新增,a 的后面可以接字串,而这些字串会在新建在下一行
  • c :取代,c 的后面可以接字串,这些字串可以取代指定位置的行
  • d :删除
  • i :插入,i 的后面可以接字串,而这些字串会在上一行出现
  • p :打印,亦即将某个选择的数据印出
  • s :搜寻并替换

netstat

  • netstat -rn Kernel IP routing table
  • netstat -ni Kernel Interface table
  • netstat -a 显示详细的网络状况
  • netstat -s 显示网络统计信息
  • netstat -l 显示监听的套接口,-lt tcp,-lu udp

crontab

  • crontab -e 来编辑定时任务列表
  • * * * * * cmd这样的格式
  • 命令要写绝对路径
  • 重启时要执行的命令用@reboot 后面写。(reboot后面挂载samba,失败了)

默认Ubuntu是没有打开crontab的日志的。
要去打开,才方便排错。
打开方法:

修改rsyslog文件,将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉;
重启rsyslog服务service rsyslog restart;
重启cron服务service cron restart;
tail -f /var/log/cron.log;

vim

  • 如何在VIM中保存编辑的只读文件

:w !sudo tee %

nohup

nohup cmd >xx.log 2>&1 &以这样的方式运行后台程序。

nohup -> 不挂起的含义

没归类的

  • 编辑.bashrc,定义好快捷键别名,source .bashrc生效
  • 编辑/etc/sudoers 文件,在后面加上xxx ALL=NOPASSWD: ALL,xxx为用户,可以sudo时不用输入密码(仅偷懒使用)。

bash 快捷键

  • ctrl + l 清屏
  • ctrl + r 查之前的命令
  • ctrl + a 到最前
  • ctrl + e 到最后
  • ctrl + u 清一行
  • ctrl + b 前移一个字符(backward)
  • ctrl + f 后移一个字符(forwar)
  • ctrl + w 当前光标到临近左边单词结束
  • ctrl + u 删除光标左边所有
  • ctrl + k 删除光标右边所有
  • ctrl + n 下一条命令
  • ctrl + p 上一条命令

(因为alt被我绑定做别的快捷键,这里就没写与alt相关的)

参考