Linux实用的基本命令

基本理论

不懂的命令 :man 命令(查用法、全称),只记得关键词,可用man -k 关键词;

Linux命令常用结构 :Command [-option] [argument]
Command:即是要运行的命令的本身,说白了就是一个软件(程序);
Option:是选项(可选),选项是控制命令运行状态和行为的(可多个选项一起,如df -hT);
Argument:是参数(可选),是命令要操作对象如文件、路径、数据、目录等;
在指令的第一部分按[tab]键一下为[命令补全],两下为所有命令选择,在非第一部分按[tab]键两下为[文件补全];

系统日志(/var/log/)

linux命令区分大小写

开关机

  • sync :把内存中的数据写到磁盘中(关机、重启前都需先执行sync)
  • shutdown -r nowreboot :立刻重启
  • shutdown -h now :立刻关机
  • shutdown -h 20:00 :预定时间关闭系统(晚上8点关机,如果现在超过8点,则明晚8点)
  • shutdown -h +10 :预定时间关闭系统(10分钟后关机)
  • shutdown -c :取消按预定时间关闭系统

系统信息

  • who am i :查看当前使用的终端
  • who 或 w : 查看所有终端
  • uname -m :显示机器的处理器架构(如x86_64)
  • cat /proc/version :查看linux版本信息
  • uname -r :显示正在使用的内核版本
  • lsb_release -a :查看系统发行版本(如CentOS7)
  • rpm -qa | grep kernel-devel :查看kernel-devel版本(安装软件时编译内核用,故需要保持内核版本一致性)
  • hostnamectl set-hostname 主机名:修改主机名(包括静态、瞬态和灵活主机名,如有域名解析记得手动更新/etc/hosts)
  • date :显示系统日期 (date +%Y/%m/%d : 显示效果如2018/01/01)
  • date 070314592018.00 :设置时间(格式为月日时分年.秒 )
  • clock -w :将时间修改保存到 BIOS
  • cal 2018 :显示2018年的日历表
  • clear :清空命令行
  • ifconfig :显示或设置网卡(查ip等)(类似windows中ipconfig)
  • ping -c 3 www.baidu.com :测试百度与本机的连接情况( -c 3表示测试3次)
  • nmcli con show    或    nmcli con list:查看uuid   
  • nmcli dev show    或    nmcli dev list:查看mac

系统性能

  • df -h :显示磁盘的空间使用情况
  • ps aux|grep firefox :获取火狐的进程号(PID)(可查看进程占用cpu、内存百分比及进程触发指令的路径)
  • kill -9 进程号 :强制杀死进程
  • systemctl :查看正在运行的服务

文件和目录

​ cd:是Change Directory的缩写,用来切换工作目录,语法:cd [相对或绝对路径或特殊符号]

  • cd :进入该用户的主目录 ~(root用户为/root,其他用户为/home/用户名)
  • cd .. :返回上一级目录(注意要空格)
  • cd - :返回上次所在目录
  • cd / :返回根目录 (绝对路径)
  • cd  目录:打开下一级目录
  • pwd :显示工作路径(Print Working Directory 的缩写)

​ls:是List的缩写,用于列出目录下的文件,语法:ls [选项][目录或文件名]

  • ls -a :列出文件下所有的文件,包括以“.“开头的隐藏文件
  • ls -lh *.log** :列出文件的详细信息(.log结尾,*为通配符代表任意多个字符)
  • file 文件或目录 :显示文件的类型(目录、text、zip、shell脚本等)
  • mkdir dir1 :创建目录(dir1)(mkdir为make directory的缩写)
  • mkdir -p ./dir1/dir2 :递归创建目录(-p:父目录不存在时,同时建立)
  • touch a.txt :创建文件a.txt

​rm:可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉; 语法:rm (选项)(参数)(注:如果参数中含有目录,则必须加上-r选项);

  • rm 文件 :删除文件
  • rm -r 目录或文件 :删除目录(及目录下所有文件)(非空也可以)
  • rm -rf 目录或文件 :强制删除,如:rm -rf * 为删除当前目录下所有文件

​mv:是move的缩写,可以用来剪切移动文件、目录或者将文件改名;
语法:mv 源文件 目标文件(改名)或目录(移动);

  • mv a b :移动或者重命名一个文件或者目录(存在即移动目录或覆盖文件,不存在即改名)
  • mv /opt/git/g /opt/a :移动g到opt目录下并改名为a(a目录不存在,若存在则为移动g到a目录下)
  • mv -t ./test a.txt b.txt :移动多个文件到某目录下

​cp:复制文件或目录;cp命令可以将单个或多个文件复制到一个已经存在的目录下;
常用:cp -ai 文件或目录 目标目录;

  • cp -ai /opt/abc /opt/git/ :复制abc目录(或文件)到git目录下(选项a表示文件的属性也复制、目录下所有文件都复制;i表示覆盖前询问)

​ln:link的缩写,用于建立硬(软)链接,常用于软件安装时建软链接(类似快捷方式)到PATH;
语法:ln [-s] 源文件 目标文件

  • ln -s /opt/a.txt /opt/git/ :对文件创建软链接(快捷方式不改名还是a.txt)
  • ln -s /opt/a.txt /opt/git/b :(快捷方式改名为b)(下面的一样可以改名)

文件权限

  • chmod [-R] 777文件或目录 :设置权限
  • chmod [{ugoa}{+-=}{rwx}][文件或目录] :如chmod u-w,g+x,o=r test.txt为user(拥有者)去掉写权限,group(所属组)加上执行权限,other(其他人)权限等于只读;
  • chown [-R] admin:root /opt/ :变更文件及目录的拥有者和所属组(-R递归处理所有文件和文件夹,admin为拥有者,root为所属者)

文件查找

​ find:在目录结构中搜索文件,并执行指定的操作
语法:find pathname -options [-print -exec ...]
pathname :为 find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录
-exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } ;,注意{ }和;之间的空格;
-print: find命令将匹配的文件输出到标准输出;

  • find . -size +100M :在当前目录及子目录下查找大于100M的文件
  • find . -type f :f表示文件类型为普通文件(b/d/c/p/l/f 分别为块设备、目录、字符设备、管道、符号链接、普通文件)
  • find . -name '*.log'|grep hello :在当前目录及子目录下查出文件名后缀为.log的文件并且文件名包含了hello字样(grep用来处理字符串);
  • find / -name mysql:从根目录开始找mysql
  • find .  -name: 名字
  • which java :在环境变量$PATH设置的目录里查找符合条件的文件,并显示路径(查询运行文件所在路径)
  • whereis java :查看安装的软件的所有的文件路径(whereis 只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令)

查看文件的内容

  • cat [-n] 文件名 :显示文件内容,连行号一起显示
  • less 文件名 :一页一页的显示文件内容(搜索翻页同man命令)
  • sed -n '/搜索的关键词/p' a.txt :显示包括关键词所在行

文本处理

  • sed -i 's/old/new/g' a.txt :替换字符串;格式为sed 's/要替换的字符串/新的字符串/g' 修改的文件
  • vim 文件:编辑查看文件(同vi)

用户与权限

  • useradd 用户名 :创建用户
  • userdel -r 用户名 :删除用户:(-r表示把用户的主目录一起删除)
  • usermod -g 组名 用户名 :修改用户的组
  • usermod -aG 组名 用户名 :将用户添加到组
  • groups test :查看test用户所在的组
  • cat /etc/group |grep test :查看test用户详情:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
  • passwd [ludf] 用户名 :用户改自己密码,不需要输入用户名,选项-d:指定空口令,-l:禁用某用户,-u解禁某用户,-f:强迫用户下次登录时修改口令
  • groupadd 组名 :创建用户组
  • groupdel 用户组 :删除组
  • groupmod -n 新组名 旧组名 :修改用户组名字
  • su - 用户名:完整的切换到一个用户环境(相当于登录)(建议用这个)(退出用户:exit)
  • su 用户名 :切换到用户的身份(环境变量等没变,导致很多命令要加上绝对路径才能执行)
  • sudo 命令 :以root的身份执行命令(输入用户自己的密码,而su为输入要切换用户的密码,普通用户需设置/etc/sudoers才可用sudo)

压缩、解压和打包备份

​ 单纯tar仅为打包(多个文件包成一个大文件),加上参数-j(bzip2格式.bz2)、-z(gzip格式.gz)可以备份、压缩(-c)、解压(-x),备份一般比压缩多加参数-p(保留原本文件的权限与属性),-C可以指定解压到特定目录;bzip2、gzip只能对单一文件压缩;

  • file 文件名 :查文件类型(可看是用哪一种方式压缩的)
  • tar -jxvf a.tar.bz2 :解压tar.bz2(到当前目录)

软件安装

二进制(Binaries)包

yum安装

​ 在线下载并安装rpm包,适用于CentOS、Fedora、RedHat及类似系统

  • yum install epel-releas :安装第三方yum源EPEL(企业版 Linux 附加软件包的简称)
  • yum repolist enabled :显示可用的源仓库(/etc/yum.repos.d/目录下配置)
  • yum install yum-fastestmirror :自动选择最快的yum源
  • yum list installed |grep java :列出已安装的软件(查看已安装的JDK)
  • yum remove java-1.8.0-openjdk.x86_64 :卸载软件(卸载JDK)
  • yum list java* :列出已安装和可安装的软件(查看yum库中的JDK包)
  • yum install [-y] java-1.8.0-openjdk :安装软件JDK(-y自动安装)(推荐这种方式安装)
  • rpm -ql 软件名称 :查询yum安装路径(软件名称可通过rpm -qa|grep java)

​ yum中没有时用,适用于CentOS、Fedora、RedHat及类似系统;

  • wget -P /opt https://网址 :下载到/opt目录
  • rpm -ivh wps-office-版本.x86_64.rpm :安装rpm包(包要先下载)(要先装依赖包)
  • rpm -e wps-office :卸载软件(注意不要软件名不要版本号)
  • rpm -qa |grep wps :查看安装的rpm包
  • rpm -ql 软件名称 :查看rpm包安装路径(软件名称可通过rpm -qa|grep java)

服务与进程

  • netstat -lnp|grep 端口号/进程号/进程名 :根据查端口是否打开确认服务是否启动,配合ps命令可查服务占用的端
  • ps aux|grep 进程号/进程启动命令/服务名 :进程查看命令ps(可查进程状态;进程占用cpu、内存;配合netstat根据某服务端口查出进程号用于杀进程,查服务启动命令及服务路径 )
  • ps aux|grep tomcat netstat -lnp|grep 进程号 :查tomcat服务占用的端口;
发布了123 篇原创文章 · 获赞 54 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qq_36750352/article/details/102885961
今日推荐