Linux常用命令
1、pwd命令
pwd命令,查看当前目录的路径
linux下所有的绝对路径都是从根目录"/"开始
root:是linux下root用户的根目录
home:是linux下其他用户的默认根目录 (例如:在linux上创建了一个bow用户,那么就会在/home
下面生成一个bow目录作为bow用户的根目录)
etc:是linux下系统配置文件目录
tmp:临时文件目录,所有用户都可以用
2、ls命令
ls [参数] 目录路径
ls 表示查看目录下的文件
ls #表示查看当前目录下的文件
ls -l #表示查看当前目录下的详细信息
ls -a #表示查看当前目录下的所有文件(包含隐藏文件)
ls -la #表示查看当前目录下的所有文件(包含隐藏文件)的详细信息
ls -lh #h是以适当的单位来显示文件的大小
ls -lh表示查看当前目录下的文件的详细信息,并以合适单 位显示文件大小
3、cd命令
cd 目录路径 #进入一个目录,目录路径可以是绝对路径(以/开始的路径都是绝对路径),也可以是相对路径
"~"表示当前用户的根目录 例如:root用户时,~表示/root目录 bow用户时,~表示/home/bow目录
cd / #表示进入系统根目录
cd usr/ #表示进入当前目录下的usr目录
cd local/ #表示进入当前目录下的local目录
cd ./bin #表示进入当前目录下的bin目录
cd .. #表示进入当前目录的上一级目录
cd ../.. #表示进入当前目录的上级目录的上一级目录
cd ~/data #表示进入当前用户根目录下的data目录 例如:root用户则进入了/root/data目录
4、mkdir命令
mkdir 目录路径 #创建一个目录,目录路径可以是绝对路径也可以是相对路径
mkdir创建目录时,只有在目录的上级目录存在时,才会创建
mkdir -p 目录#创建目录时,如果没有父目录,会创建父目录,递归地创建目录
mkdir -p a/b/c #在当前目录下创建3级目录
5、rmdir命令
rmdir [参数] 目录路径 #删除目录命令,
rmdir默认只能删除空目录
rmdir ./dir #删除当前目录下的dir目录
rmdir -p 目录路径 #表示删除目录和它的父目录(目录要是一个空目录)
rmdir -p a/b/c #删除当前目录下的a/b/c目录
6、touch命令
touch 命令 #创建文件命令
touch 文件路径
touch 1.txt #在当前目录下创建一个1.txt文件
touch /root/2.txt #在/root目录下创建一个2.txt文件
7、rm命令
rm [参数] 路径 #删除命令
rm 1.txt #删除当前目录下的1.txt文件,删除时会提示,是否删除如果输入y表示删除,输入n表示不删除
rm -f /root/2.txt #-f表示强制删除,不会提示,强制删除/root目录下的2.txt
rm -r a/ #递归的删除当前目录下a目录下的所有内容
rm -rf a/ #强制删除当前目录下a目录及a目录下的所有内容
rm -rf * #删除当前目录下的所有内容
8、echo命令
echo #输出命令,可以输入变量,字符串的值
echo Hello World #打印Hello World
echo $PATH #打印环境变量PATH的值,其中$是取变量值的符号,用法:$变量名 或者 ${变量名}
echo -n #打印内容但不换行 echo -n Hello World
9、>和>>命令
和>>:输出符号,将内容输出到文件中,>表示覆盖(会删除原文件内容) >>表示追加
通过>和>>都可以创建文件
echo Hello World > 1.txt #将Hello World输出到当前目录下的1.txt文件 #如果当前目录下没有1.txt文件会创建一个新文件, #如果当前目录下有1.txt,则会删除原文件内容,写入Hello World
echo 1234 >> 1.txt #将1234追加到当前目录下的1.txt中,如果文件不存在会创建新文件
10、cat命令
cat 文件路径 #查看文件的所有内容
cat 1.txt #查看当前目录下1.txt的内容
cat /root/1.txt #查看/root目录下的1.txt文件内容
11、more、less、head、tail命令
more 文件路径 #分页查看文件内容
more linux常用命令.txt #分页查看当前目录下linux常用命令.txt文件的内容
按空格或回车,会继续加载文件内容,按q退出查看
当加载到文件末尾时,会自动退出查看
less 文件路径 #分页查看文件内容
less linux常用命令.txt #分页查看文件内容,按空格继续加载文件,按q退出查看,不会自动退出查看
head [参数] 文件路径 #从文件开始查看文件
head linux常用命令.txt #查看文件的前10行内容
head -n 文件路径 # n是一个正整数,表示查看文件的前n行数据
head -20 linux常用命令.txt #查看文件的前20行内容
tail [参数] 文件路径 #从文件的末尾查看文件内容
tail linux常用命令.txt #查看文件的后10行内容
tail -n 文件路径 # n是一个正整数,表示查看文件的后n行数据
tail -15 linux常用命令.txt #查看文件后15行内容
tail -f 文件路径 #动态的查看文件的最后几行内容(查看文件时,等待文件更新,如果文件更新了,会显 示出新的内容)
12、文件编辑命令
vi/vim命令 这两个命令在使用上几乎完全一样(个人喜欢vim命令)
安装vim命令:(安装是需要网络的)
yum -y install vim
yum命令是centos和red hat系统上使用官方资源包去安装软件的命令
yum -y install 软件名
yum -y remove 软件名
13、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目录
14、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目录
15、mv命令
mv 移动命令,它可以移动文件,也可以给文件改名
mv 原文件路径 目标文件路径 #将文件从一个地方拷贝到另一个地方
mv 1.txt 12.txt #将文件1.txt改名为12.txt
mv tmp tm #将tmp目录改名为tm
mv 12.txt tm #将文件12.txt移动到tm目录下
16、man命令
man 命令,查看命令的命令,查看命令帮助文档(显示的信息最详细)
man mv #查看mv命令的文件
man命令和命令的 --help参数结果相似(man命令只适用于linux本身的命令)
17、free命令
free命令,它是用来查看系统内存的命令
free #查看系统内存使用情况
free -h #查看内存使用情况,并且以合适的单位显示大小
18、df命令
df命令,它是查看系统硬盘的命令
df #查看系统硬盘使用情况
df -h #查看硬盘使用,并以合适单位显示大小
19、wc命令
wc 命令,word count的缩写,它是查看文件的单词个数
wc [参数] 文件
wc -l linux常用命令.txt #-l表示line行数 计算文件的行数
wc -w linux常用命令.txt #-w表示word单词个数 计算文件的单词个数
20、ps命令
ps命令,它是查看系统进程的命令
ps -aux
ps -ef
jps 查看java进程
21、kill命令
kill 进程id #结束进程
kill -9 进程id #强制结束进程
22、用户和权限命令
创建用户组:
groupadd 用户组名称 #创建一个用户组
groupadd bows #创建一个叫bows的用户组 删除用户组:
groupdel 用户组名称 #删除一个用户组(删除时必须是用户组下没有用户时)
groupdel bows #删除用户组
创建用户:
useradd 用户名 [-g 用户组名 -G 用户组名] #创建一个用户,-g指定用户的主用户组,-G指定用户的其他用户组
useradd bow -g bows #创建bow用户,并指定它的主用户组是bows id 用户名 #查看用户的id id bow #查看用户bow的id
userdel 用户名 #删除用户
userdel bow #删除用户bow
切换用户:
su 用户名 #切换用户,但不加载用户的环境变量
su - 用户名 #切换用户,并加载用户的环境变量(建议使用这种方式切换用户)
su bow #切换到bow用户(root用户切换到其他用户是不需要输入密码的,其他用户切换到root用户是要输 入root用户密码的,其他用户之间的切换也是需要密码)
exit #退出当前用户的登陆
修改用户密码:
passwd 用户名 #修改用户密码
passwd bow #修改bow用户的密码
权限:
r:表示读权限 数字表示为4
w:表示写权限 数字表示为2
x:表示执行权限 数字表示为1
-:表示没有权限
23、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
24、查找命令
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的行
–了解性查询命令
who命令 #查询系统中的用户(登陆的用户)
whoami命令 #查看系统当前用户名
whereis命令 #查看系统安装的某个软件的路径
whereis python #查看python的安装路径
which 命令 #查找软件的可执行文件路径
which python #查看python可执行文件路径
25、压缩命令
安装zip和unzip命令:
yum -y install zip unzip
zip压缩命令
zip 压缩文件名 要压缩的文件路径
zip 2.zip 2.txt #将2.txt压缩到2.zip中
zip data.zip data #只会压缩文件夹,不会压缩文件夹下的内容
zip da.zip da/* #压缩文件夹和文件夹内的文件(压缩文件夹和它的下一级文件)
zip -r data.zip date #-r表示递归地将文件夹及它的子目录文件全部压缩
unzip解压命令
unzip 压缩文件路径
unzip 2.zip #将2.zip压缩包解压到当前目录下
unzip -l 压缩文件名 #不解压文件,查看压缩包内的文件
unzip -l da.zip #查看da.zip压缩文件中包含的文件
unzip da.zip -d 目标目录 #将压缩文件解压到指定目录
unzip da.zip -d tm/ #将压缩文件da.zip解压到tm目录下
tar命令,用来压缩和解压缩.tar和.tar.gz包
压缩.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到当前目录
压缩.tar.gz包:
tar zcvf 压缩文件名 要压缩的文件
tar zcvf tm.tar.gz tm #将当前目录下的tm目录压缩为tm.tar.gz
解压.tar.gz包:
tar zxvf 压缩文件名
tar zxvf tm.tar.gz #将tm.tar.gz解压到当前目录
gzip命令,将文件压缩为.gz包(可以用来压缩.tar文件)
gzip 要压缩的文件
gzip 2.txt #将2.txt压缩为2.txt.gz
gzip data.tar #将data.tar压缩为data.tar.gz
26、source命令
source 文件路径 #让配置文件修改结果立即生效,(还可以在shell脚本中引用其他的shell脚本)
/etc/profile #linux上的系统环境变量配置文件
source /etc/profile #将系统环境变量生效
26、export命令
export 导入全局变量(环境变量)
export 变量名=变量值
export 变量名
变量的赋值: 变量名=变量值
27、<<EOF
<<EOF … EOF:将<<EOF和EOF之间的多行内容传给前面的命令,
其中EOF可以是任意字符串,但约定都使用EOF
[root@bow ~]# cat <<EOF
> HELLO
> WORD
> JOB
> SMITH
> EOF
HELLO
WORD
JOB
SMITH
28、cut命令
cut 截取命令
-f 参数,指定列
-d 参数指定列和列之间的分隔符,默认的分隔符是\t(行向制表符)
cut -f 1 1.txt #取1.txt文件中的第1列内容(列分隔符默认为\t)
cut -f 2 1.txt #取1.txt文件中的第2列内容
cut -f 1 -d ',' 3.txt #取3.txt文件中的第1列(列分隔符为,)
cut -f 2 -d ',' 3.txt #取3.txt第2列
wc -l linux常用命令.txt | cut -f 1 -d ’ ’ #取文件linux常用命令.txt的行数(分隔符是空格)
29、printf命令
%ns 输出字符串,n是数字,指代输出几个字符
%ni 输出整数。n是数字,指代输出几个数字
%m.nf 位数和小数位数。例如:%8.2f 代表输出8位数,其中2位是小数,6位是整数
printf 格式字符串 内容
printf '%5.2f\n' 12.1 #%5.2f表示输出一个小数,数的长度是5,其中有两个小数 12.10
printf '%5.2f\n' 121234.116134 #如果输出的值最大长度超出5,那么整数部分 不变量,小数部分会按照四舍五入的方法保存两位 121234.12
30、service命令
service服务命令
stop:关闭服务
restart:重启服务
status:查看服务状态
service network start #遍历网络
service network stop #关闭网络
service network restart #重启网络
service network status #查看网络状态
service iptables start #centos6及6以下版本,启动防火墙的命令
service iptables stop #centos6及6以下版本,关闭防火墙(注意,关闭防火墙,只是临时关闭,下次 重启之后防火墙依然会启动)
service iptables restart #重启防火墙
service mysqld start #启动mysql数据库
service mysqld restart #启动mysql数据库
service mysqld stop #关闭mysql数据库