Linux常用命令
linux常用命令大全
目录
一、磁盘管理
1、cd 命令
功能:改变工作目录。将当前工作目录改变到指定的目录下
格式:cd 目录名
命令 | 说明 |
cd .. | 返回上一级目录 |
cd ../.. | 返回上两级目录 |
cd ~ | 切换到家目录 |
cd / | 切换到根目录 |
cd /home/lx/linux1/ | 绝对路径:从家目录出发,直到想要去的目录 |
cd …/lx/ | 相对路径:从当前目录出发,直到想去的目录 |
2、chmod 命令
功能:控制用户对文件的权限的命令
格式:chmod [选项] 文件名
常用选项:
选项 | 说明 |
---|---|
-r | 赋予读取权限 |
-w | 赋予写入权限 |
-x | 赋予执行权限 |
777 | 赋予可读、可写、可执行权限(读:4,写:2,执行:1) |
权限说明:
(例:-rw-r--r-x 的权限为645)
权限显示位一共为10位,分为四段,从第二位算起,每三个一组
第1位代表文件类型(-表示为普通文件)
第2-4位代表文件所属用户拥有的权限(rw-:4+2=6)
第5-7位代表该用户所属组拥有的权限(-r--:4)
第8-10位代表其他用户拥有的权限(r-x:4+1=5)
# | 权限 | rwx | 二进制 |
---|---|---|---|
7 | 读 + 写 + 执行 | rwx | 111 |
6 | 读 + 写 | rw- | 110 |
5 | 读 + 执行 | r-x | 101 |
4 | 只读 | r-- | 100 |
3 | 写 + 执行 | -wx | 011 |
2 | 只写 | -w- | 010 |
1 | 只执行 | --x | 001 |
0 | 无 | --- | 000 |
示例:将目前目录下的所有文件与子目录皆设为任何人可读取
chmod 777 file
3、mkdir 命令
功能:创建空目录
语法
mkdir [-p] dirName
参数说明:
- -p 确保目录名称存在,不存在的就建一个。
格式:mkdir [选项] [路径] 文件名
常用选项表:
选项 | 说明 |
---|---|
-p | 层级创建 |
-v | 显示创建顺序 |
示例
在工作目录下,建立一个名为 runoob 的子目录 :
mkdir runoob
在工作目录下的 runoob2 目录中,建立一个名为 test 的子目录。
若 runoob2 目录原本不存在,则建立一个。(注:本例若不加 -p 参数,且原本 runoob2 目录不存在,则产生错误。)
mkdir -p runoob2/test
4、rmdir 命令
功能:删除空目录 不能删除非空目录,不能删除文件
格式:rmdir [-p] [路径] 目录名
常用选项表:
选项 | 说明 |
---|---|
-p | 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除 |
示例
将工作目录下,名为 AAA 的子目录删除 :
rmdir AAA
在工作目录下的 BBB 目录中,删除名为 Test 的子目录。若 Test 删除后,BBB 目录成为空目录,则 BBB 亦予删除。
rmdir -p BBB/Test
二、文档编辑
1、grep 命令
功能:用于查找文件里符合条件的字符串
格式:grep [选项] '查找字符串' 文件名
选项 | 说明 |
---|---|
-a | 将binary文件以text文件的方式查找数据 |
-c | 计算找到 ‘查找字符串’ 的次数 |
-i | 忽略大小写的区别,即把大小写视为相同 |
-v | 反向选择,即显示出没有 ‘查找字符串’ 内容的那一行 |
2、egrep
egrep命令用于在文件内查找指定的字符串。
语法
egrep [范本模式] [文件或目录]
参数说明:
- [范本模式] :查找的字符串规则。
- [文件或目录] :查找的目标文件或目录。
实例
显示文件中符合条件的字符。例如,查找当前目录下所有文件中包含字符串"Linux"的文件,可以使用如下命令:
egrep Linux *
结果如下所示:
$ egrep Linux * #查找当前目录下包含字符串“Linux”的文件
testfile:hello Linux! #以下五行为testfile 中包含Linux字符的行
testfile:Linux is a free Unix-type operating system.
testfile:This is a Linux testfile!
testfile:Linux
testfile:Linux
testfile1:helLinux! #以下两行为testfile1中含Linux字符的行
testfile1:This a Linux testfile!
#以下两行为testfile_2 中包含Linux字符的行
testfile_2:Linux is a free unix-type opterating system.
testfile_2:Linux test
xx00:hello Linux! #xx00包含Linux字符的行
xx01:Linux is a free Unix-type operating system. #以下三行为xx01包含Linux字符的行
xx01:This is a Linux testfile!
xx01:Linux
三、系统管理
1、ps 命令
功能:用来列出系统中当前正在运行的那些进程,类似于 windows 的任务管理器。
格式:ps [选项]
常用选项:
选项 | 说明 |
---|---|
-A | 列出所有的进程 (重要) |
-ef | 查看全格式的全部进程 (重要) |
-w | 显示加宽可以显示较多的资讯 |
-au | 显示较详细的资讯 |
-aux | 显示所有包含其他使用者的行程 |
2、kill 命令
功能:用于删除执行中的程序或工作
格式:kill [选项]/[信号] 进程号
常用选项:
选项 | 说明 |
---|---|
-l | 参数会列出全部的信息名称。 |
-s | 指定要送出的信息。 |
常用:
信号 | 说明 |
---|---|
-1 (HUP) | 重新加载进程 |
-9 (KILL) | 杀死一个进程。(重点) |
-15 (TERM) | 正常停止一个进程。 |
3、常用
# reboot 重启
# shutdown -h now 多用户模式关机
# poweroff -i -f 单用户模式关机
# apt-get install package_name 安装 软件包
# su - root 进入root
四、网络通讯
1、netstat 命令
功能:查看端口
格式:netstat -anp | grep 端口号
常用
找出运行在指定端口的进程:netstat -an | grep ':80'
通过端口找进程ID: netstat -nlp | grep 8080
根据进程名查对应的端口号:netstat -tlnp | grep processname
通过进程名查询占用的端口 netstat -anp | grep 10997
2、telnet命令
telnet命令用于远端登入,执行telnet指令开启终端机阶段作业,并登入远端主机
语法
telnet [-8acdEfFKLrx][-b<主机别名>][-e<脱离字符>][-k<域名>][-l<用户名称>][-n<记录文件>][-S<服务类型>][-X<认证形态>][主机名称或IP地址<通信端口>]
参数说明:
- -8 允许使用8位字符资料,包括输入与输出。
- -a 尝试自动登入远端系统。
- -b<主机别名> 使用别名指定远端主机名称。
- -c 不读取用户专属目录里的.telnetrc文件。
- -d 启动排错模式。
- -e<脱离字符> 设置脱离字符。
- -E 滤除脱离字符。
- -f 此参数的效果和指定"-F"参数相同。
- -F 使用Kerberos V5认证时,加上此参数可把本地主机的认证数据上传到远端主机。
- -k<域名> 使用Kerberos认证时,加上此参数让远端主机采用指定的领域名,而非该主机的域名。
- -K 不自动登入远端主机。
- -l<用户名称> 指定要登入远端主机的用户名称。
- -L 允许输出8位字符资料。
- -n<记录文件> 指定文件记录相关信息。
- -r 使用类似rlogin指令的用户界面。
- -S<服务类型> 设置telnet连线所需的IP TOS信息。
- -x 假设主机有支持数据加密的功能,就使用它。
- -X<认证形态> 关闭指定的认证形态。
实例
登录远程主机
# telnet 192.168.0.5
3、ifconfig命令
ifconfig命令用于显示或设置网络设备。ifconfig可设置网络设备的状态,或是显示目前的设置。
语法
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
参数说明:
- add<地址> 设置网络设备IPv6的IP地址。
- del<地址> 删除网络设备IPv6的IP地址。
- down 关闭指定的网络设备。
- <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
- io_addr<I/O地址> 设置网络设备的I/O地址。
- irq<IRQ地址> 设置网络设备的IRQ。
- media<网络媒介类型> 设置网络设备的媒介类型。
- mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
- metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
- mtu<字节> 设置网络设备的MTU。
- netmask<子网掩码> 设置网络设备的子网掩码。
- tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
- up 启动指定的网络设备。
- -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
- -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
- -promisc 关闭或启动指定网络设备的promiscuous模式。
- [IP地址] 指定网络设备的IP地址。
- [网络设备] 指定网络设备的名称。
实例
显示网络设备信息
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C
inet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:172220 errors:0 dropped:0 overruns:0 frame:0
TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB)
Interrupt:185 Base address:0x2024
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:2022 errors:0 dropped:0 overruns:0 frame:0
TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)
启动关闭指定网卡
# ifconfig eth0 down
# ifconfig eth0 up
用ifconfig修改MAC地址
# ifconfig eth0 down //关闭网卡
# ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE //修改MAC地址
# ifconfig eth0 up //启动网卡
# ifconfig eth1 hw ether 00:1D:1C:1D:1E //关闭网卡并修改MAC地址
# ifconfig eth1 up //启动网卡
配置IP地址
# ifconfig eth0 192.168.1.56
//给eth0网卡配置IP地址
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0
// 给eth0网卡配置IP地址,并加上子掩码
# ifconfig eth0 192.168.1.56 netmask 255.255.255.0 broadcast 192.168.1.255
// 给eth0网卡配置IP地址,加上子掩码,加上个广播地址
五、文件管理
1、touch 命令
功能:新建空文件
格式:touch [路径] 文件名 (可以多个)
2、rm 命令
功能:删除文件或目录
格式:rm [选项] 文件名
常用选项表:
选项 | 说明 |
---|---|
-f | 强制删除 |
-r | 多级删除 |
-rf | 强制删除给定目录下所有文件和目录 |
rm 和 rmdir 的区别:
rm 有选项, rmdir 没有选项
rmdir 只能删除空目录,不能删文件
rm 带上选项-r可以删除非空目录
3、mv 命令
功能:mv命令是move的缩写,可以用来移动文件或者将文件改名(move(rename)files),是Linux系统下常用的命令,经常用来备份文件或者目录
格式:mv [选项] [路径] 旧文件名 [新路径][新文件名]
选项 | 说明 |
---|---|
-f | force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 |
-i | 若目标文件 (destination) 已经存在时,就会询问是否覆盖 |
注意:
如果只移动不改名字,新名字可以不写
如果移动的同时改名字,新名字一定要写
4、cp 命令
功能: 复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
格式:
cp [选项] [路径] 旧文件名 [新路径][新文件名]
参数说明:
- -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
- -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
- -f:覆盖已经存在的目标文件而不给出提示。
- -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
- -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- -l:不复制文件,只是生成链接文件。
5、cat 命令
功能: 查看目标文件的内容
格式:cat [选项] 文件名
常用选项:
选项 | 说明 |
---|---|
-b | 对非空输出行编号 |
-n | 对输出的所有行编号 |
-s | 不输出多行空行 |
六、vi/vim
进入编辑器 vi/vim
,vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。
进入编辑模式插入
i
退出编辑模式
esc
保存:后面输入
w
退出:后面输入
q
不保存退出:后面输入
q!
显示行号
set number
查找关键字
/xxxx
按n跳到下一个,shift+n上一个复制光标所在行,并粘贴
yyp
h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)
删除整行 dd
删除多行(光标所在行到 n行的删除 ) ndd
1)命令模式
用户刚刚启动 vi/vim,便进入了命令模式。此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。
常用的几个命令:
i 切换到输入模式,以输入字符。
x 删除当前光标所在处的字符。
: 切换到底线命令模式,以在最底一行输入命令。
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
2)输入模式
在命令模式下按下 i 就进入了输入模式。
在输入模式中,可以使用以下按键:
字符按键以及Shift组合:输入字符
ENTER:回车键,换行
BACK SPACE:退格键,删除光标前一个字符
DEL:删除键,删除光标后一个字符
方向键:在文本中移动光标
HOME/END:移动光标到行首/行尾
Page Up/Page Down:/下翻页
Insert:切换光标为输入/替换模式,光标将变成竖线/下划线
ESC:退出输入模式,切换到命令模式
3)底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式
vim 中复制粘贴
按v 选择字符 h,j,k,l 选中后按y 确认。 按p 粘贴
七、其他命令
1、tail 命令
功能:查看测试项目的日志
说明:一般测试的项目里面,有个logs的目录文件,会存放日志文件,有个xxx.out的文件,可以用tail -f 动态实时查看后端日志
格式:tail [选项] 文件名
常用选项:
选项 | 说明 |
---|---|
-f | 实时读取 |
-1000 | 查看最近1000行日志 |
2、运行程序
1)命令行运行
运行
./filename
退出
ctrl+c
2)后台运行
运行
nohup command >out.file 2>&1 &
退出
ps -ef |grep 关键字 |awk '{print $2}'|xarg kill -9
3)服务方式运行
设置开机启动
systemctl enable
启动
systemctl start
关闭
systemctl stop
3、防火墙
查看防火墙状态
firewall-cmd --state
停止防火墙
systemctl stop firewalld.service
禁止firewall开机启动
systemctl disable firewalld.service
4、网络配置
查看网卡信息
ifconfig
网络配置
/etc/sysconfig/network-script/ifcfg-eth0
配置网卡
/etc/udev/rules.d/70-persistent-net.rules
5、安装软件
1)下载rpm安装包方式
安装
rpm -i jdk-XXX_linux-x64_bin.rpm
查找
rpm -qa | grep jdk
列表
rpm -qa | more
ubuntu dpkg 方式
查找dpkg -I | grep jdk
列表dpkg -I | more
安装dpkg -i jdk-XXX_linux-x64_bin.deb
2)yum方式
搜索 yum search jdk
安装 yum install java-11-openjdk.x86_64
删除 yum erase java-11 -openjdk.x86 64
配置文件 /etc/yum.repos.d/CentOS-Base.repo
ubuntu apt-get 方式
搜索 apt・cache search jdk
安装apt-get install openjdk-9-jdk
删除apt-get purge openjdk-9-jdk
配置文件/etc/apt/sources. Iist
3)下载压缩文件方式
编辑 .bashrc
环境变量配置
-
打开环境变量文件
vi /etc/profile
-
配置环境变量
export JAVA_HOME=/root/j d k-XXX_lin ux-x64
-
export PATH=$JAVA HOME/bin:$PATH
-
刷新配置
source /etc/profile
6、安装软件apt
1)安装wget下载工具
sudo apt-get install wget -y
2)安装git
sudo apt-get install git -y
3)安装curl
sudo apt-get install curl -y
4)安装Nginx
apt-get install nginx
5)安装unzip
apt-get install unzip
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)