Linux常用命令


启动网络命令

ip addr 查看网卡信息

service network start 启动网卡
service network stop 关闭网卡
service network restart 重启网络

pwd命令

pwd命令,查看当前目录的路径

linux下所有的绝对路径都是从根目录”/“开始

root:是linux下root用户的根目录

home:是linux下其他用户的默认根目录 (例如:在linux上创建了一个bow用户,那么就会在/home

下面生成一个bow目录作为bow用户的根目录)

etc:是linux下系统配置文件目录

tmp:临时文件目录,所有用户都可以用

ls命令

ls [参数] 目录路径

ls 表示查看目录下的文件

ls #表示查看当前目录下的文件
ls -l #表示查看当前目录下的详细信息
ls -a #表示查看当前目录下的所有文件(包含隐藏文件)
ls -la #表示查看当前目录下的所有文件(包含隐藏文件)的详细信息
ls -lh #h是以适当的单位来显示文件的大小 ls -lh表示查看当前目录下的文件的详细信息,并以合适单
位显示文件大小 
 
ls -l / #表示查看根目录"/"下文件的详细信息
ll命令:它和ls -l命令功能相同,但是不是所有的linux上都默认安装

cd命令

cd 目录路径 #进入一个目录,目录路径可以是绝对路径(以/开始的路径都是绝对路径),也可以是相对路径

相对路径:以非/开始的路径, 注意: “.”表示当前目录

“…”表示当前目录的上一级目录,它可以多个一起使用

“表示当前用户的根目录 例如:root用户时,表示/root目录 bow用户时,~表示/home/bow目录

cd / #表示进入系统根目录
cd usr/ #表示进入当前目录下的usr目录
cd local/ #表示进入当前目录下的local目录
cd ./bin #表示进入当前目录下的bin目录
cd .. #表示进入当前目录的上一级目录
cd ../.. #表示进入当前目录的上级目录的上一级目录
cd /usr/local/bin #进入/usr/local/bin目录
cd ../etc #表示进入和当前目录同级的etc目录 #..表示当前目录的上一级目录 ../etc表示当前目录
上级目录下的etc目录(和当前目录同级)
cd ~ #表示进入当前用户的根目录(cd ~ 和直接执行cd后不加目录的效果相同)
 #例如:root用户进入/root目录,bow用户进入/home/bow目录
 
cd ~/data #表示进入当前用户根目录下的data目录 例如:root用户则进入了/root/data目录

mkdir命令

mkdir 目录路径 #创建一个目录,目录路径可以是绝对路径也可以是相对路径

mkdir data #在当前目录下创建一个data目录
mkdir ./dir #在当前目录下创建一个dir目录
mkdir /root/tmp #在/root目录下创建一个tmp目录

mkdir创建目录时,只有在目录的上级目录存在时,才会创建

mkdir -p 目录#创建目录时,如果没有父目录,会创建父目录,递归地创建目录

mkdir -p a/b/c #在当前目录下创建3级目录

rmdir命令

rmdir [参数] 目录路径 #删除目录命令,rmdir默认只能删除空目录
rmdir ./dir #删除当前目录下的dir目录
rmdir -p 目录路径 #表示删除目录和它的父目录(目录要是一个空目录)
rmdir -p a/b/c #删除当前目录下的a/b/c目录

touch命令

touch 命令 #创建文件命令

touch 文件路径

touch 1.txt #在当前目录下创建一个1.txt文件

touch /root/2.txt #在/root目录下创建一个2.txt文件

rm命令

rm [参数] 路径 #删除命令

rm 1.txt #删除当前目录下的1.txt文件,删除时会提示,是否删除如果输入y表示删除,输入n表示不删 除

rm -f /root/2.txt #-f表示强制删除,不会提示,强制删除/root目录下的2.txt

rm -r a/ #递归的删除当前目录下a目录下的所有内容
[root@bow ~]# rm -r a/
rm:是否进入目录"a/"? y
rm:是否进入目录"a/b"? y
rm:是否进入目录"a/b/c"? y
rm:是否删除普通空文件 "a/b/c/3.txt"?y
rm:是否删除目录 "a/b/c"?y
rm:是否删除普通空文件 "a/b/2.txt"?y
rm:是否删除目录 "a/b"?y
rm:是否删除普通空文件 "a/1.txt"?y
rm:是否删除目录 "a/"?y
rm -rf a/ #强制删除当前目录下a目录及a目录下的所有内容

rm -rf * #删除当前目录下的所有内容
rm -rf a/* #删除当前目录下a目录下的所有内容
rm -rf *.txt #删除当前目录下的所有txt文件
rm -rf *s* #删除当前目录下所有名字中包含s的文件或文件夹

echo命令

echo #输出命令,可以输入变量,字符串的值

echo Hello World #打印Hello World
echo $PATH #打印环境变量PATH的值,其中$是取变量值的符号,用法:$变量名 或者 ${变量名}
 
echo -n #打印内容但不换行
echo -n Hello World

>和>>命令

>和>>:输出符号,将内容输出到文件中,
>表示覆盖(会删除原文件内容)
>>表示追加

echo Hello World > 1.txt #将Hello World输出到当前目录下的1.txt文件
 #如果当前目录下没有1.txt文件会创建一个新文件,
 #如果当前目录下有1.txt,则会删除原文件内容,写入Hello World
echo 1234 >> 1.txt #将1234追加到当前目录下的1.txt中,如果文件不存在会创建新文件

文件查看命令

cat 文件路径 #查看文件的所有内容

cat 1.txt #查看当前目录下1.txt的内容
cat /root/1.txt #查看/root目录下的1.txt文件内容

文件编辑命令

vi/vim命令:这两个命令在使用上几乎完全一样(个人喜欢vim命令)

安装vim命令:(安装是需要网络的)

yum -y install vim

yum命令是centos和red hat系统上使用官方资源包去安装软件的命令

yum -y install 软件名
yum -y remove 软件名

vim命令总体分为两类

vim 文件路径 –进入非编辑模式

非编辑模式命令:

yy:复制光标当前行
p:粘贴
dd:删除光标当前行
$:光标跳到当前行的行尾
^:光标跳到当前行的行首
 
:s/原字符串/新字符串/:替换光标当前行内容
:%s/原字符串/新字符串/g:全文替换 #g表示global i表示ignore忽略大小写
 
/要查找的内容:从光标当前行向后查找内容
/d #在文件中查找d字母
?要查找的内容:从光标当前位置向前查找内容
?d #查找文件中的d字母
CTRL+F:向下翻1页
CTRL+B:向上翻1页
 
:set nu:显示文件的行号
:set nonu: 去掉行号显示
u:撤消
 
**:set ff :显示文件的格式 #unix表示在unix上的文件 dos表示文件是windows上的文件**
:w :表示保存文件
:q :表示退出vim命令
:wq:保存并退出
:w!:强制保存
:q!:强制退出但不保存
:wq!:强制保存并退出
i:表示进入编辑模式,并且光标在当前行
o:表示进入编辑模式,并且光标出现的当前行的下一行(新行)

编辑模式命令:

编辑模式下可以能过方向键控制光标的位置,并且可以输入文件到光标当前位置

ESC:退出编辑模式

cp命令

cp 拷贝命令

cp [参数] 原文件路径 目标文件路径

cp 1.txt a/ #将1.txt文件拷贝到a目录下
cp 1.txt 2.txt #将1.txt拷贝到2.txt
cp -r a data #-r参数表示将目录和目录下的文件一起拷贝,将a目录拷贝到data目录

scp命令

scp 远程拷贝命令,它可以将本地文件拷贝到远程服务器,也可以将远程服务器的文件拷贝到本地,也 可以将一台服务器文件拷贝到另一台

scp -r 本地文件路径 用户名@ip[:port]:远程路径 #将本地文件拷贝到远程服务器
scp -r 2.txt root@192.168.5.105:/root/data/ #将本地的2.txt拷贝到192.168.5.105
的/root/data目录下
 
scp -r 用户名@ip[:port]:远程文件路径 本地路径 #将远程文件拷贝到本地
scp -r root@192.168.5.105:/root/3.bak /root/data #将远程的/root/3.bak文件拷贝到本
地的/root/data目录

scp -r 用户名@ip[:port]:远程文件路径 用户名@ip[:port]:远程文件路径 #将文件从一台服务器拷贝到另 一台服务器

scp -r root@192.168.5.105:/root/tmp root@192.168.5.105:/root/data/ #
将/root/tmp拷贝到远程的/root/data目录下

mv命令

mv 移动命令,它可以移动文件,也可以给文件改名

mv 原文件路径 目标文件路径 #将文件从一个地方拷贝到另一个地方

mv 1.txt 12.txt #将文件1.txt改名为12.txt
mv tmp tm #将tmp目录改名为tm
mv 12.txt tm #将文件12.txt移动到tm目录下

man命令

man 命令,查看命令的命令,查看命令帮助文档(显示的信息最详细)

man mv #查看mv命令的文件
 
man命令和命令的 --help参数结果相似(man命令只适用于linux本身的命令)

free命令

free命令,它是用来查看系统内存的命令

free #查看系统内存使用情况
free -h #查看内存使用情况,并且以合适的单位显示大小

df命令

df命令,它是查看系统硬盘的命令

df #查看系统硬盘使用情况
df -h #查看硬盘使用,并以合适单位显示大小

wc命令

wc 命令,word count的缩写,它是查看文件的单词个数

wc [参数] 文件

wc -l linux常用命令.txt #-l表示line行数 计算文件的行数
wc -w linux常用命令.txt #-w表示word单词个数 计算文件的单词个数

ps命令

ps命令,它是查看系统进程的命令

ps -aux|grep nginx #查看nginx占用的端口

ps -ef

jps 查看java进程

kill命令

kill 进程id #结束进程

root 21752 1.6 0.5 158800 5532 ? Ss 08:34 0:00 sshd: root@pts/0

kill 21752 #结束ssh登陆的进程

kill -9 进程id #强制结束进程

chmod 赋权限命令

chmod 权限 文件路径
-rw-r--r--. 1 root root   31 3月 24 07:46 2.txt
chmod u+x 2.txt #给用户加上执行权限
-rwxr--r--. 1 root root   31 3月 24 07:46 2.txt
chmod g+w 2.txt #给用户组加写权限
-rwxrw-r--. 1 root root   31 3月 24 07:46 2.txt
chmod o+x 2.txt #给其他用户加执行权限
-rwxrw-r-x. 1 root root   31 3月 24 07:46 2.txt
chmod g-w 2.txt #去掉用户的写权限 
-rwxr--r-x. 1 root root   31 3月 24 07:46 2.txt

查找命令

find命令,可以根据文件的时间,名称等查找文件

find *.txt #查找txt文件

grep 命令,查找内容

grep cat linux常用命令.txt #在linux常用命令.txt文件中查询包含cat的行,查找文件内容

| 通道符号,连接两个命令的,将前一个命令的查询结果传给后一个命令

ps -ef | grep sshd #查看系统中sshd的进程 
ps -ef | grep java #查看所有java进程
grep -v #-v参数表示查询不包含查找条件的行
grep -v cat linux常用命令.txt #查找linux常用命令.txt中不包含cat的行
ps -ef | grep sshd | grep -v grep #查询sshd的进程,不包括grep的行

压缩命令

tar命令,用来压缩和解压缩.tar包

压缩.tar包:

tar cvf 压缩文件名 要压缩的文件或目录
tar cvf 2.tar 2.txt #将2.txt压缩为2.tar包
tar cvf data.tar data #将data目录夸张到data.tar包中

解压.tar包:

tar xvf 压缩文件名 [-C 指定解压目录]

tar xvf 2.tar #将2.tar解压到当前目录
tar xvf 2.tar -C a/ #将2.tar解压到a目录
tar xvf data.tar #解压data.tar到当前目录

source命令

source 文件路径 #让配置文件修改结果立即生效,(还可以在shell脚本中引用其他的shell脚本)

/etc/profile #linux上的系统环境变量配置文件
source /etc/profile #将系统环境变量生效

  目录