Linux 常用命令

  1. 在执行Linux命令时,解决提示信息如果显示为乱码:

    echo 'LANG="en_US.UTF-8"' >> /etc/profile
    source /etc/profile
    

    查看LANG环境变量,LANG 环境变量通常定义了默认的字符编码

    echo $LANG
    

    使用 locale 命令可以查看系统的区域设置,这通常包括字符编码

    locale
    

    使用 file 命令可以查看文件的类型和编码

    file -i filename
    
  2. ifconfig 命令不存在的情况
    直接安装(yum -y install net-tools),安装完成后就能直接使用。

常用命令

命令作用操作示例备注
pwd查看当前所在文件夹
clear清屏
ctrl + c退出
ifconfig查看配置网卡信息ifconfiggrep inet 查看网卡对应的 IP 地址
ping ip地址检测到目标 ip地址 的连接是否正常ping 127.0.0.1
which查看执行命令所在位置which useradd 输出:/usr/sbin/useradd
whereis除了查找可执行文件外,还可以查找源文件和手册页的位置whereis java
lsof查看特定端口的详细信息lsof -i :port_number
find搜索文件🟢 find / -name fileName 全局查找该文件🟢 find . –name “*.java” 在当前目录及其子目录下查找.java结尾文件🟢 find /release -name “*.java” 在/release目录及其子目录下查找.java结尾的文件
locate快速定位文件和目录🟢locate filename 要搜索系统中名为 filename 的文件🟢locate "*.log" 要搜索所有以 .log 结尾的文件🟢locate -i filename忽略大小写 🟢locate -m 10 filename限制搜索结果数量
grep搜索文本文件内容🟢grep Hello HelloWorld.java 查找HelloWorld.java文件中出现的Hello字符串的位置🟢grep hello *.java 查找当前目录中所有.java结尾的文件中包含hello字符串的位置
echo将内容输出到console控制台上echo “Hello, World!”
输出重定向(覆盖)命令
>>输出重定向(追加)命令
🔴文件目录操作命令🔴🔴
cd切换文件夹cd ~/a 进入当前操作用户home目录下的a🟢~ 表示用户的home目录🟢. 表示目前所在的目录🟢… 表示目前目录位置的上级目录🟢/ 根目录
ls查看当前文件夹下的内容🟢-a :全部的文件,连同隐藏文件🟢 -l :包含文件的属性与权限
ll查看当前文件夹下的内容
touch如果文件不存在,新建文件touch newfile.txt
mkdir创建目录mkdir release🟢-p :确保父目录名称存在,不存在的就建一🟢-m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色
rmdir删除目录rmdir release-p:当子目录被删除后使父目录为空目录的话,则一并删除
rm删除文件或目录rm -rf release/🟢-f :无需确认,直接删除🟢-r :递归删除
cp复制文件或目录cp hello.txt release/-r:递归持续复制,用於目录的复制行为;
mv为文件或目录改名、或将文件或目录移动到其它位置🟢mv oldname newname 重命名文件或目录 🟢mv filename /path/to/directory 移动文件或目录🟢mv file1 file2 /path/to/directory 移动多个文件或目录🟢 -f :force 强制的意思🟢-i :若目标文件已经存在时,就会询问是否覆盖
less翻页查看器less -N filename 显示文件行号🟢Space(空格键)向下翻页。🟢 b 向上翻页。🟢 q 退出查看器 🟢grep “search_term” filename
more简单的分页查看器more fileName🟢Enter(回车键)向下滚动一行 🟢Space(空格键)向下翻页 🟢b 向上翻页 🟢q或者Ctrl+C 退出more
cat查看文件内容(适合小文件)、创建文件、文件合并、追加文件内容等功能🟢cat -n fileName 逐行显示文件内容 🟢cat > newfile.txt 创建新文件 🟢cat file1.txt file2.txt > mergedfile.txt 合并文件 🟢cat /dev/null > filename.txt 清空文件内容 🟢cat >> existingfile.txt追加内容到文件 🟢cat -A filename显示二进制文件内容
tail查看文件的结尾部分内容tail -f filename实时显示文件新增的内容,适用于日志文件
vi/vim查看文件的结尾部分内容🟢i 进入编辑模式 🟢 ESC 退回到命令模式🟢:q 退出🟢 :w 保存 🟢:wq 保存退出🟢 :wq! 强制保存退出 🟢 Ctrl + f 向下翻页。🟢按 Ctrl + b 向上翻页
dd删除🟢dd 删除光标所在当前行内容🟢ndd 删除当前行往下n 行
u撤销🟢u 撤销上一步的操作🟢ctrl + r 反撤销
yy复制🟢yy 复制光标当前所在行内容🟢nyy 复制当前行往下n 行
p粘贴🟢p 当前行的下一行粘贴 🟢P 当前行的上一行粘贴
🔴修改文件权限🔴🔴
chmod更改文件权限chmod 770 filenameowner/group/others三种身份各有自己的read/write/execute权限
chown修改拥有者chown [–R] 属主名 文件名
chgrp修改组chgrp [-R] 属组名 文件名-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
🔴进程查看命令🔴🔴
ps显示当前进程的状态ps aux 查看进程🟢a:显示当前终端下的所有进程信息,包括其他用户的进程。🟢u:使用以用户为主的格式输出进程信息。🟢x:显示当前用户在所有终端下的进程。
jps查看本机运行的java 进程
l管道命令,前一个命令执行的结果作为内容交给下一个命令处理ps -efgrep 进程名
🔴内存、磁盘查看命令🔴🔴
top实时监控工具top在 top 命令中,按下 Shift + M 会根据内存使用率对进程进行排序
free显示内存状态free -h
df列出文件系统的整体磁盘使用量df -h
lsblk
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统 🟢-m :以 MBytes 的容量显示各文件系统 🟢-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示
du检查磁盘空间使用量🟢du [-ahskm] 文件或目录名称 🟢du -sh *🟢-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已 🟢-h :以人们较易读的容量格式 (G/M) 显示;🟢-s :列出总量而已,而不列出每个各别的目录占用容量;🟢-m :以 MBytes 列出容量显示;
🔴打包压缩命令🔴🔴
tar -cvf打包🟢tar -cvf hello.tar ./* 将当前目录下所有文件打包,打包后的文件名为hello.tar 🟢tar -zcvf hello.tar.gz ./* 将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz🟢 z代表的是gzip 🟢 c代表的是create 🟢x代表的是extract,实现从包文件中还原文件 🟢v代表的是verbose,显示命令的执行过程 🟢f代表的是file
tar -xvf解包🟢 tar -xvf hello.tar 将hello.tar文件进行解包,并将解包后的文件放在当前目录🟢tar -zxvf hello.tar.gz 将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录🟢tar -zxvf hello.tar.gz -C /usr/local 将hello.tar.gz文件进行解压,并将解压后的文件放在 /usr/local目录
🔴用户管理命令🔴🔴
cat /etc/shadow查看linux用户
useradd添加新用户🟢 -m 使用者目录如不存在则自动建立 🟢-g 用户组 指定用户所属的用户组
su切换用户su username
userdel删除帐号userdel -r username -r它的作用是把用户的主目录一起删除
usermod修改帐号usermod 选项 username常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值
passwd用户口令的管理passwd 选项 username🟢 -l 锁定口令,即禁用账号 🟢-u 口令解锁 🟢-d 使账号无口令🟢 -f 强迫用户下次登录时修改口令
🔴java jar包启动命令🔴🔴
nohup使进程在后台持续运行🟢nohup command & 使用 nohup 运行一个命令,即使终端关闭,该命令也会继续执行;command 是你想要执行的命令,& 将命令放到后台执行 🟢nohup java -Dfile.encoding=utf-8 -jar -Xms128m -Xmx512m /home/back/sys/demo.jar --spring.config.location=/home/back/sys/bootstrap.yml > /home/back/logs/demo.log 2>&1 &重定向操作符 > 来指定输出文件,2>&1 确保错误消息也被重定向到 output.log中
🔴其它命令🔴🔴
apt通过 apt 安装/卸载软件🟢apt install 软件包 🟢apt remove 软件名 🟢apt upgrade 更新
sshlinux系统连接服务器ssh -p 22 root@ip地址ssh 这个终端命令只能在 Linux 或者 UNIX 系统下使用
scp远程拷贝文件🟢 scp -P port user@remote:Desktop/01.py 01.py 把远程 家目录下的 Desktop/01.py 文件 复制到 本地当前目录下的 01.py 🟢 scp -r demo user@remote:Desktop 把当前目录下的 demo 文件夹 复制到 远程 家目录下的 Desktop 🟢scp -r user@remote:Desktop demo 把远程 家目录下的 Desktop 复制到 当前目录下的 demo 文件夹🟢-r 选项可以传送文件夹🟢-P若远程 SSH 服务器的端口不是 22,需要使用大写字母 -P 选项指定端口 🟢scp 这个终端命令只能在 Linux 或者 UNIX 系统下使用

文件目录操作命令 cd

绝对路径:
例如:/usr/share/doc

相对路径:
例如: /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man

特殊说明

  • ~ 表示用户的home目录
  • . 表示目前所在的目录
  • .. 表示目前目录位置的上级目录
  • / 根目录

示例:

# 切换到/usr/local目录		
cd /usr/local	
# 切换到当前目录的上一级目录
cd ..		
# 进入当前目录上一级下的a
cd ../a
# 切换到用户的home目录
cd ~
# 进入当前操作用户home目录下的a
cd ~/a
# 进入当前目录下的a a是隐藏的
cd .a
# 进入当前目录下的a
cd ./a
# 回到之前目录
cd -

文件目录操作命令 ls、mkdir、rm、cp、mv

所有的Linux命令可以组合使用

  • ls: 列出目录

    • -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用)
    • -l :长数据串列出,包含文件的属性与权限等等数据; 常用:ls -l = ll
  • mkdir:创建目录

    • -p :确保父目录名称存在,不存在的就建一个
    • -m :配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~
    mkdir release           在当前目录下,建立一个名为release的子目录
    mkdir -p release/test   在工作目录下的release目录中建立一个名为test的子目录,若release目录不存在,则建立一个
    
  • rmdir:删除空目录

    • -p:当子目录被删除后使父目录为空目录的话,则一并删除
    rmdir release           删除名为release的空目录
    rmdir -p release/test   删除release目录中名为test的子目录,若test目录删除后release目录变为空目录,则也被删除
    rmdir release*          删除名称以release开始的空目录
    
  • rm: 删除文件或目录

    • -f :无需确认,直接删除
    • -r :将目录及目录中所有文件(目录)逐一删除,即递归删除
    • -i :互动模式,在删除前会询问使用者是否动作
    rm -r release/    删除名为release的目录和目录中所有文件,删除前需确认
    rm -rf release/   无需确认,直接删除名为release的目录和目录中所有文件
    rm -f hello.txt   无需确认,直接删除hello.txt文件
    
  • cp: 复制文件或目录
    语法:cp [-r] source dest

    • -r:递归持续复制,用於目录的复制行为;(常用)
    • -a:相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
    • -p:连同文件的属性一起复制过去,而非使用默认属性(备份常用);
    • -d:若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
    • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
    • -i:若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
    • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身。
    • -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件;
    • -u:若 destination 比 source 旧才升级 destination !
    cp hello.txt release/            将hello.txt复制到release目录中
    cp hello.txt ./hi.txt            将hello.txt复制到当前目录,并改名为hi.txt
    cp -r release/ ./release2/       将release目录和目录下所有文件复制到release2目录下
    cp -r release/* ./release2/      将release目录下所有文件复制到release2目录下
    
  • mv: 为文件或目录改名、或将文件或目录移动到其它位置
    语法:mv source dest

    • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
    • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
    • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)
    mv hello.txt hi.txt                 将hello.txt改名为hi.txt
    mv hi.txt release/                  将文件hi.txt移动到release目录中
    mv hi.txt release/hello.txt   		将hi.txt移动到release目录中,并改名为hello.txt
    mv release/ release2/               如果release目录不存在,将release目录改名为release2
    mv release/ release2/               如果release目录存在,将release目录移动到release2目录中
    

文件目录操作命令 cat、more、tail

  • cat 用于显示文件内容
    语法:cat [-n] fileName

    • -A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
    • -b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
    • -E :将结尾的断行字节 $ 显示出来;
    • -n :由1开始对所有输出的行数编号;
    • -T :将 [tab] 按键以 ^I 显示出来;
    cat /etc/profile		查看/etc目录下的profile文件内容
    
  • v :列出一些看不出来的特殊字符

  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!

  • nl 显示的时候,顺道输出行号!

  • more 以分页的形式显示文件内容
    语法: more fileName
    操作说明:

    • 回车键 向下滚动一行
    • 空格键 向下滚动一屏
    • b 返回上一屏
    • q或者Ctrl+C 退出more
    more /etc/profile		以分页方式显示/etc目录下的profile文件内容
    
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!

  • head 只看头几行

  • tail 用于查看文件的结尾部分内容
    语法:tail [-f] fileName

    • -n 用于显示行数,默认为10,即显示 10 行的内容
    • -f 动态读取文件末尾内容并显示,通常用于日志文件的内容输出
    tail /etc/profile		显示/etc目录下的profile文件末尾10行的内容
    tail -20 /etc/profile	显示/etc目录下的profile文件末尾20行的内容
    tail -f /home/my.log	动态读取/home目录下的my.log文件末尾内容并显示
    

修改文件属性命令

1、chgrp:更改文件属组

chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2、chown:更改文件属主,也可以同时更改文件属组

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

3、chmod:更改文件9个属性

chmod [-R] xyz 文件或目录

Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:

  • owner = rwx = 4+2+1 = 7

  • group = rwx = 4+2+1 = 7

  • others= — = 0+0+0 = 0

chmod 770 filename

打包压缩命令

语法:tar [-zcxvf] fileName [files]
包文件后缀为.tar表示只是完成了打包,并没有压缩
包文件后缀为.tar.gz表示打包的同时还进行了压缩

  • -z:z代表的是gzip,通过gzip命令处理文件,gzip可以对文件压缩或者解压
  • -c:c代表的是create,即创建新的包文件
  • -x:x代表的是extract,实现从包文件中还原文件
  • -v:v代表的是verbose,显示命令的执行过程
  • -f:f代表的是file,用于指定包文件的名称

打包:

tar -cvf hello.tar ./*		  	  将当前目录下所有文件打包,打包后的文件名为hello.tar
tar -zcvf hello.tar.gz ./*		  将当前目录下所有文件打包并压缩,打包后的文件名为hello.tar.gz
  • 解包
tar -xvf hello.tar		                将hello.tar文件进行解包,并将解包后的文件放在当前目录
tar -zxvf hello.tar.gz		            将hello.tar.gz文件进行解压,并将解压后的文件放在当前目录
tar -zxvf hello.tar.gz -C /usr/local    将hello.tar.gz文件进行解压,并将解压后的文件放在 /usr/local目录

vi/vim 命令

vi命令是Linux系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于Windows中的记事本
vim是从vi发展来的一个功能更加强大的文本编辑工具
要使用vim命令,需要我们自己完成安装。可以使用下面的命令来完成安装:

yum install vim

语法:vim fileName

  • i 进入编辑模式

  • o 进入编辑模式后,在当前行的下一行

  • 输入模式下按 ESC 退回到命令模式

  • 在命令模式下,输入:进入底线命令模式

  • 常用的底线命令有:

    • :q 退出
    • :w 保存
    • :wq 保存退出
    • :wq! 强制保存退出
  • 底行模式

    • 底行模式下可以通过命令对文件内容进行查找、显示行号、退出等操作
    • 在命令模式下按下[:,/]任意一个,可以进入底行模式
    • 通过/方式进入底行模式后,可以对文件内容进行查找
    • 通过:方式进入底行模式后,可以输入wq(保存并退出)、q!(不保存退出)、set nu(显示行号)

提示:在命令模式下按下shift + zz 可以实现快速的保存退出

查找命令 find、grep

find 作用:在指定目录下查找文件
语法:find dirName -option fileName

find / -name 文件名  			全局查找该文件
find  .  –name “*.java”		    在当前目录及其子目录下查找.java结尾文件
find  /release  -name “*.java”	在/release目录及其子目录下查找.java结尾的文件

grep 作用:从指定文件中查找指定的文本内容
语法:grep word fileName

grep Hello HelloWorld.java	 查找HelloWorld.java文件中出现的Hello字符串的位置
grep hello *.java		     查找当前目录中所有.java结尾的文件中包含hello字符串的位置

进程查看命令

  • ps 命令:用于显示当前进程的状态,类似于windows 的任务管理器

  • jps 命令:这是JDK 自带的命令,专门用于查看本机运行的java 进程情况

  • l 管道命令:将前一个命令执行的结果作为内容交给下一个命令处理

  • 查看进程
    a:显示当前终端下的所有进程信息,包括其他用户的进程。
    u:使用以用户为主的格式输出进程信息。
    x:显示当前用户在所有终端下的进程。

    # 查看进程
    ps aux
    # 查看本机运行的所有进程  ps -ef:查看linux 进程, grep 进程名: 搜索进程名
    ps -ef | grep 进程名 
    

其它命令

  • ln:创建连接
  • touch:创建文件
  • echo:用于内容输出,将内容输出到console控制台上
  • > 输出重定向(覆盖)命令
  • >>输出重定向(追加)命令

时间、日期命令

  • date 命令:用来显示或设定系统的日期与时间。使用者可以设定欲显示的格式

    # date + "%Y-%m-%d %H:%M:%S"
    
  • cal 命令:用于显示当前或者指定日期的公历

内存、磁盘使用率查看命令

  • free 命令:用于显示内存状态

    # free -h
    

Linux磁盘管理常用命令为 df、du。

df :列出文件系统的整体磁盘使用量

df [-ahikHTm] [目录或文件名]

选项与参数:

  • -a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
  • -k :以 KBytes 的容量显示各文件系统;
  • -m :以 MBytes 的容量显示各文件系统;
  • -h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
  • -H :以 M=1000K 取代 M=1024K 的进位方式;
  • -T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;
  • -i :不用硬盘容量,而以 inode 的数量来显示

du:检查磁盘空间使用量

du [-ahskm] 文件或目录名称

选项与参数:

  • -a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
  • -h :以人们较易读的容量格式 (G/M) 显示;
  • -s :列出总量而已,而不列出每个各别的目录占用容量;
  • -S :不包括子目录下的总计,与 -s 有点差别。
  • -k :以 KBytes 列出容量显示;
  • -m :以 MBytes 列出容量显示;

光标移动命令

  • 方向键控制移动
  • 翻页 pageup pagedown
  • 行首(home 0)行尾(end $)
  • 跳到文件的最后一行 G
  • 跳到文件的第一行 gg

复制粘贴命令

  • 复制
    • yy 复制光标当前所在行内容
    • nyy 复制当前行往下n 行
  • 黏贴
    • p 当前行的下一行粘贴
    • P 当前行的上一行粘贴

删除、撤销操作命令

  • 删除命令
    • dd 删除光标所在当前行内容
    • ndd 删除当前行往下n 行
  • 撤销、反撤销
    • u 撤销上一步的操作
    • ctrl + r 反撤销

服务器之前网络传输速度

先安装iperf-2.1.6-2.el8.aarch64.rpm,再执行要ping的服务器ip对应端口命令。

iperf -c 10.112.4.36 -p 9090 -i 1 -f m -t 100 -P 5

关机命令

sync # 将数据由内存同步到硬盘

shutdown # 关机命令

shutdown -h 10 # 计算机将在10分钟之后关机

shutdown -h now # 立刻关机

shutdown -h 20:00 # 系统指定今天20:00关机

shutdown -h +10 # 10分钟后关机

shutdown -r now # 系统立刻重启

shutdown -r +10 # 系统10分钟后重启

reboot # 重启 等同于shutdown -r now

halt # 关闭系统 等同于shutdown -h now 和 poweroff

无论是重启系统还是关闭系统,首先要运行sync命令,将数据由内存同步到硬盘

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值