Linux常用命令包括:
查看硬件信息命令:ifconfig free fdisk ethtool mii-tool dmidecode dmesg lspci
系统性能监视命令:uptime top free vmstat mpstat iostat sar chkconfig
内存命令:top free vmstat mpstat iostat sar
CPU命令:top vmstat mpstat iostat sar
I/O命令:vmstat mpstat iostat sar
进程命令:ipcs ipcrm lsof strace lstrace
负载命令:uptime mount umount df du fsck dd dumpe2fs dump
关机和查看系统命令:shutdown halt init
常用指令
ls 显示文件或目录
-l 列出文件详细信息l(list)
-a 列出当前目录下所有文件及目录,包括隐藏的a(all)
mkdir 创建目录
-p 创建目录,若无父目录,则创建p(parent)
cd 切换目录
touch 创建空文件
echo 创建带有内容的文件。
cat 查看文件内容
cp 拷贝
mv 移动或重命名
rm 删除文件
-r 递归删除,可删除子目录及文件
-f 强制删除
find 在文件系统中搜索某文件
wc 统计文本中行数、字数、字符数
grep 在文本文件中查找某个字符串
rmdir 删除空目录
tree 树形结构显示目录,需要安装tree包
pwd 显示当前目录
ln 创建链接文件
more、less 分页显示文本文件内容
head、tail 显示文件头、尾内容
ctrl+alt+F1 命令行全屏模式
系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
hostname 显示主机名
uname 显示系统信息
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
du 查看目录大小 du -h /home带有单位显示目录信息
df 查看磁盘大小 df -h 带有单位显示磁盘信息
ifconfig 查看网络情况
ping 测试网络连通
netstat 显示网络状态信息
man 命令不会用了,找男人 如:man ls
clear 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。
关机/重启机器
shutdown
-r 关机重启
-h 关机不重启
now 立刻关机
halt 关机
reboot 重启
文件和目录
cd /home 进入 '/ home' 目录'
cd .. 返回上一级目录
cd ../.. 返回上两级目录
cd 进入个人的主目录
cd ~user1 进入个人的主目录
cd - 返回上次所在的目录
pwd 显示工作路径
ls 查看目录中的文件
ls -F 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -a 显示隐藏文件
ls *[0-9]* 显示包含数字的文件名和目录名
tree 显示文件和目录由根目录开始的树形结构
lstree 显示文件和目录由根目录开始的树形结构
mkdir dir1 创建一个叫做 'dir1' 的目录'
mkdir dir1 dir2 同时创建两个目录
mkdir -p /tmp/dir1/dir2 创建一个目录树
rm -f file1 删除一个叫做 'file1' 的文件'
rmdir dir1 删除一个叫做 'dir1' 的目录'
rm -rf dir1 删除一个叫做 'dir1' 的目录并同时删除其内容
rm -rf dir1 dir2 同时删除两个目录及它们的内容
mv dir1 new_dir 重命名/移动 一个目录
cp file1 file2 复制一个文件
cp dir/* . 复制一个目录下的所有文件到当前工作目录
cp -a /tmp/dir1 . 复制一个目录到当前工作目录
cp -a dir1 dir2 复制一个目录
cp -r dir1 dir2 复制一个目录及子目录
ln -s file1 lnk1 创建一个指向文件或目录的软链接
ln file1 lnk1 创建一个指向文件或目录的物理链接
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
文件搜索
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
locate \*.ps 寻找以 '.ps' 结尾的文件 - 先运行 'updatedb' 命令
whereis halt 显示一个二进制文件、源码或man的位置
which halt 显示一个二进制文件或可执行文件的完整路径
pwd命令
pwd命令用于显示用户当前所处的目录。如果用户不知道自己当前所处的目录,就必须使用它。例如:
[root@RHEL7-1 etc]# pwd
/etc
cd命令
cd命令用来在不同的目录中进行切换。用户在登录系统后,会处于用户的家目录($HOME)中,该目录一般以/home开始,后跟用户名,这个目录就是用户的初始登录目录(root用户的家目录为/root)。如果用户想切换到其他的目录中,就可以使用cd命令,后跟想要切换的目录名。例如:
[root@RHEL7-1 etc]# cd #改变目录位置至用户登录时的工作目录
[root@RHEL7-1~]# cd dir1 #改变目录位置至当前目录下的dir1子目录下
[root@RHEL7-1dir1]# cd ~ #改变目录位置至用户登录时的工作目录(用户的家目录)
[root@RHEL7-1~]# cd .. #改变目录位置至当前目录的父目录
[root@RHEL7-1/]# cd #改变目录位置至用户登录时的工作目录
[root@RHEL7-1~]# cd ../etc #改变目录位置至当前目录的父目录下的etc 子目录下
[root@RHEL7-1 etc]# cd/dir1/subdir1 #利用绝对路径表示改变目录到 /dir1/subdir1目录下
ls命令
ls命令用来列出文件或目录信息。该命令的语法为
ls [参数] [目录或文件]
ls命令的常用参数选项如下。
-a:显示所有文件,包括以"."开头的隐藏文件。
-A:显示指定目录下所有的子目录及文件,包括隐藏文件。但不显示"."和"..."。-c:按文件的修改时间排序。
-C:分成多列显示各行。
-d:如果参数是目录,则只显示其名称而不显示其下的各个文件。往往与"-l"选项一起使用,以得到目录的详细信息。
-l:以长格形式显示文件的详细信息。
-i:在输出的第一列显示文件的i节点号。例如:
[root@RHEL7-1~]#ls #列出当前目录下的文件及目录
[root@RHEL7-1~]#ls -a #列出包括以"."开始的隐藏文件在内的所有文件
[root@RHEL7-1~]#ls -t #依照文件最后修改时间的顺序列出文件
[root@RHEL7-1~]#ls -F #列出当前目录下的文件名及其类型
[root@RHEL7-1~]#ls -l #列出当前目录下所有文件的权限、所有者、文件大小、修改时间及名称
[root@RHEL7-1~]#ls -lg #同上,并显示出文件的所有者工作组名
[root@RHEL7-1~]#ls -R #显示出目录下以及其所有子目录的文件名
cat命令
cat命令主要用于滚屏显示文件内容或是将多个文件合并成一个文件。
该命令的语法为:
cat [参数] 文件名
cat命令的常用参数选项如下。
-b:对输出内容中的非空行标注行号。
-n:对输出内容中的所有行标注行号。
通常使用cat命令查看文件内容,但是cat命令的输出内容不能够分页显示,要查看超过一屏的文件内容,需要使用more或less等其他命令。如果在cat命令中没有指定参数,则cat会从标准输入(键盘)中获取内容。
例如,要查看/soft/file1文件内容的命令为:
[root@RHEL7-1~]#cat /soft/file1
利用cat命令还可以合并多个文件。例如,要把file1和file2文件的内容合并为file3,且file2文件的内容在file1文件的内容前面,则命令为:
[root@RHEL7-1~]# cat file2 file1>file3
#如果file3文件存在,则此命令的执行结果会覆盖file3文件中原有内容
[root@RHEL7-1~]# cat file2 file1>file3
#如果file3文件存在,此命令的执行结果将把file2和file1文件的内容附加到file3文件中原有内容的后面。
more命令
在使用cat命令时,如果文件太长,用户只能看到文件的最后一部分。这时可以使用more命令,一页一页地分屏显示文件的内容。more命令通常用于分屏显示文件内容。大部分情况下,可以不加任何参数选项执行more命令查看文件内容。执行more命令后,进入more状态,按"Enter"键可以向下移动一行,按"Space"键可以向下移动一页;按"Q"键可以退出more命令。该命令的语法为:
more [参数] 文件名
more命令的常用参数选项如下。
-num:这里的num是一个数字,用来指定分页显示时每页的行数。
+num:指定从文件的第num行开始显示。
例如:
[root@RHEL7-1~]#more file1
#以分页方式查看file1文件的内容
[root@RHEL7-1~]#cat file1 | more
#以分页方式查看file1文件的内容
less命令
head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。
该命令的语法为:
head [参数] 文件名
head命令的常用参数选项如下。
-n num:显示指定文件的前num行。
-c num:显示指定文件的前num个字符。
例如:
[root@RHEL7-1~]#head -n 20 /etc/httpd/conf/httpd.conf
#显示 httpd.conf文件的前20行
tail命令
tail命令用于显示文件的末尾部分,默认情况下,只显示文件的末尾10行内容。该命令的语法为:
tail [参数] 文件名
tail命令的常用参数选项如下。
-n num:显示指定文件的末尾num行。
-c num:显示指定文件的末尾num个字符。
+num:从第num行开始显示指定文件的内容。
例如:
[root@RHEL7-1~]#tail -n 20 /etc/httpd/conf/httpd.conf
#显示 httpd.conf文件的末尾20行
head命令
head命令用于显示文件的开头部分,默认情况下只显示文件的前10行内容。
该命令的语法为:
head [参数] 文件名
head命令的常用参数选项如下。
-n num:显示指定文件的前num行。
-c num:显示指定文件的前num个字符。
例如:
[root@RHEL7-1~]#head -n 20 /etc/httpd/conf/httpd.conf
#显示 httpd.conf文件的前20行。
mkdir命令
mkdir命令用于创建一个目录。该命令的语法为
mkdir [参数] 目录名
上述目录名可以为相对路径,也可以为绝对路径。mkdir命令的常用参数选项如下。
-p:在创建目录时,如果父目录不存在,则同时创建该目录及该目录的父目录。例如:
[root@RHEL7-1~]#mkdir dir1
#在当前目录下创建dir1子目录。
[root@RHEL7-1~]#mkdir --pdir2/subdir2
#在当前目录的dir2目录中创建subdir2子目录,如果dir2目录不存在,则同时创建。
rmdir命令
rmdir命令用于删除空目录。该命令的语法为
rmdir [参数] 目录名
上述目录名可以为相对路径,也可以为绝对路径。但所删除的目录必须为空目录。rmdir命令的常用参数选项如下。
-p:在删除目录时,一同删除父目录,但父目录中必须没有其他目录及文件。
例如:
[root@RHEL7-1~]#rmdir dir1
#在当前目录下删除dir1空子目录
[root@RHEL7-1~]#rmdir -pdir2/subdir2
#/删除当前目录中dir2/subdir2子目录,//删除subdir2目录时,如果dir2目录中无其他目录,则一起删除。
熟悉使用cp命令
(1)cp命令的使用方法
cp命令主要用于文件或目录的复制。该命令的语法为
cp [参数] 源文件 目标文件
cp命令的常用参数选项如下。
-a:尽可能将文件状态、权限等属性照原状予以复制。
-f:如果目标文件或目录存在,先删除它们再进行复制(即覆盖),并且不提示用户。
-i:如果目标文件或目录存在,提示是否覆盖已有的文件。
-R:递归复制目录,即包含目录下的各级子目录。
(2)使用cp命令的范例
复制(cp)这个指令是非常重要的,不同身份者执行这个指令会有不同的结果产生,尤其是-a、-p选项,对于不同身份来说,差异非常大。下面的练习中,有的身份为root,有的身份为一般账号(在这里用bobby这个账号),练习时请特别注意身份的差别。
【例】用root身份,将家目录下的.bashrc复制到/tmp下,并更名为bashrc。
[root@RHEL7-1~]# cp ~/.bashrc /tmp/bashrc
[root@RHEL7-1~]# cp --i ~/.bashrc /tmp/bashrc
cp: overwrite /tmp/bashrc'? n 不覆盖,y为覆盖
#重复做两次,由于/tmp下已经存在bashrc了,加上-i选项后,
#则在覆盖前会询问使用者是否确定!可以按下n或者y来二次确认
【例】变换目录到/tmp,并将/var/log/wtmp复制到/tmp且观察属性。
[root@RHEL7-1 tmp]# cp -a /var/log/wtmp wtmp_2
[root@RHEL7-1 tmp]# ls -l /var/log/wtmp wtmp_2
cd 切换目录
cd (change directory:英文释义是改变目录)切换目录
cd ../ ;跳到上级目录
cd /opt ;不管现在到那直接跳到指定的opt文件夹中
cd ~ ;切换当前用户的家目录。root用户的家目录就是root目录。
pwd 显示当前目录绝对路径
pwd (print working directory:显示当前工作目录的绝对路径)
pwd
显示当前的绝对路劲
ls 查看当前目录下的所有文件夹
ls (ls:list的缩写,查看列表)查看当前目录下的所有文件夹(ls 只列出文件名或目录名)
ls -a ;显示所有文件夹,隐藏文件也显示出来
ls -R ;连同子目录一起列出来
ll 查看当前目录下的所有详细信息和文件夹
ll (ll:list的缩写,查看列表详情)查看当前目录下的所有详细信息和文件夹(ll 结果是详细,有时间, 是否可读写等信息)
ll -a ;显示所有文件,隐藏文件也显示出来
ll -R ;连同子目录内容一起列出来
ll -h ;友好展示详情信息,可以看大小
ll -al ;即能显示隐藏文件又能显示详细列表。
touch 创建文件
touch (touch:创建文件)创建文件
touch test.txt ;创建test.txt文件
touch /opt/java/test.java ;在指定目录创建test.java文件
mkdir 创建目录
mkdir (mkdir:创建目录) 创建目录
mkdir 文件夹名称 ;在此目录创建文件夹
mkdir /opt/java/jdk ;在指定目录创建文件夹
cat 查看文件
cat (concatenate:显示或把多个文本文件连接起来)查看文件命令(可以快捷查看当前文件的内 容)(不能快速定位到最后一页)
cat lj.log ;快捷查看文件命令
Ctrl + c ;暂停显示文件
Ctrl + d ;退出查看文件命令
more 分页查看文件
more (more:更多的意思)分页查看文件命令(不能快速定位到最后一页)
回车:向下n行,需要定义,默认为1行。
空格键:向下滚动一屏或Ctrl+F
B:返回上一层或Ctrl+B
q:退出more
less 分页查看文件
less (lese:较少的意思)分页查看文件命令(可以快速定位到最后一页)
less -m 显示类似于more命令的百分比。
less -N 显示每行的行号。(大写的N)
两参数一起使用如:less -mN 文件名,如此可分页并显示行号。
空格键:前下一页或page down。
回车:向下一行。
b:后退一页 或 page up。
q:退出。
d:前进半页。
u:后退半页
tail 查看文件命令
tail(尾巴) 查看文件命令(看最后多少行)
tail -10 ;文件名 看最后10行
cp 复制
cp(copy单词缩写,复制功能)
cp /opt/java/java.log /opt/logs/ ;把java.log 复制到/opt/logs/下
cp /opt/java/java.log /opt/logs/aaa.log ;把java.log 复制到/opt/logs/下并且改名为aaa.log
cp -r /opt/java /opt/logs ;把文件夹及内容复制到logs文件中
mv 移动
mv(move单词缩写,移动功能,该文件名称功能)
mv /opt/java/java.log /opt/mysql/ ;移动文件到mysql目录下
mv java.log mysql.log ;把java.log改名为mysql.log
rm 删除
rm(remove:移除的意思)删除文件,或文件夹
-f或--force 强制删除文件或目录。删除文件不包括文件夹的文件
-r或-R或--recursive 递归处理,将指定目录下的所有文件及子目录一并删除。
-rf 强制删除文件夹及内容
rm 文件名 ;安全删除命令 (yes删除 no取消)
rm -rf 强制删除文件夹及内容
rm -rf * 删除当前目录下的所有内容。
rm -rf /* 删除Linux系统根目录下所有的内容。系统将完蛋。
find 查找指定文件或目录
find (find:找到的意思)查找指定文件或目录
* 表示0~多个任意字符。
find -name 文件名;按照指定名称查找在当前目录下查找文件
find / -name 文件名按照指定名称全局查找文件
find -name '*文件名' ;任意前缀加上文件名在当前目录下查找文件
find / -name '*文件名*' ;全局进行模糊查询带文件名的文件
vi、vim 文本编辑
vi (VIsual:视觉)文本编辑器 类似win的记事本 (操作类似于地下的vim命令,看底下vim 的操 作)
vim (VI IMproved:改进版视觉)改进版文本编辑器 (不管是文件查看还是文件编辑 按 Shift + 上或 者下可以上下移动查看视角)
输入”vim 文件名” 打开文件,刚刚时是”一般模式”。
一般模式:可以浏览文件内容,可以进行文本快捷操作。如单行复制,多行复制,单行删除,多行删除,(退出)等。
插入模式:可以编辑文件内容。
底行模式:可以进行强制退出操作,不保存 :q!
可以进行保存并退出操作 :wq
按下”i”或”a”或”o”键,从”一般模式”,进入”插入模式(编辑模式)”。
在编辑模式下按”Esc” 即可到一般模式
在一般模式下按”:”,冒号进入底行模式。
在一般模式下的快捷键
dd ;删除一整行
X ;向前删除 等同于windowns系统中的删除键
x ;向后删除和大写x相反方向
Ctrl + f ;向后看一页
Ctrl + b ;向前看一页
u ;撤销上一步操作
/word ;向下查找word关键字 输入:n查找下一个,N查找上一个(不管是哪个查找都是全局查找 只不过n的方向相反)
?log ;向上查找log关键字 输入:n查找上一个,N查找下一个
:1,90s/redis/Redis/g ;把1-90行的redis替换为Redis。语法n1,n2s/原关键字/新关键字/g,n1代表其实行,n2代表结尾行,g是必须要的
:0 ;光标移动到第一行
:$ ;光标移动到最后一行
:300 ;光标移动到300行,输入多少数字移动到多少行
:w ;保存
:w! ;强制保存
:q ;退出
:q! ;强制退出
5dd ;删除后面5行,打一个参数为自己填写
5x ;删除此光标后面5个字符
d1G ;删除此光标之前的所有
d0 ;从光标当前位置删除到此行的第一个位置
yy ;复制
p ;在光标的下面进行粘贴
P ;在光标的上门进行粘贴
管道命令(把多个命令组合起来使用)
管道命令的语法:命令1 | 命令2 | 命令3。
grep 用于字符串的搜索
grep (grep :正则表达式)正则表达式,用于字符串的搜索工作(模糊查询)。
单独使用:
grep String test.java ;在test.java文件中查找String的位置,返回整行
一般此命令不会单独使用下面列几个常用的命令(地下通过管道命令组合起来使用)
ps aux|grep java ;查找带java关键字的进程
ll |grep java ;查找带java关键字的文件夹及文件
yum install -y lrzsz 命令(实现win到Linux文件互相简单上传文件)
#(实际上就是在Linux系统中下载了一个插件)下了了此安装包后就可以实现win系统到linux之间拉文件拉文件
#等待下载完了就可以输入:
rz 从win系统中选择文件上传到Linux系统中
sz 文件名 选择Linux系统的文件复制到win系统中
tar(解压 压缩 命令)
常用的组合命令:
-z 是否需要用gzip压缩。
-c 建立一个压缩文件的参数指令(create) –压缩
-x 解开一个压缩文件的参数指令(extract) –解压
-v 压缩的过程中显示文件(verbose)
-f 使用档名,在f之后要立即接档中(file)
常用解压参数组合:zxvf
常用压缩参数组合:zcvf
解压命令:
tar -zxvf redis-3.2.8.tar.gz ;解压到当前文件夹
tar -zxvf redis-3.2.8.tar.gz -C /opt/java/ ;解压到指定目录
压缩命令:(注意 语法有点反了,我反正每次都搞反)
tar -zcvf redis-3.2.8.tar.gz redis-3.2.8/ ;语法 tar -zcvf 压缩后的名称 要压缩的文件
tar -zcvf 压缩后的文件(可指定目录) 要压缩的文件(可指定目录)
ps (process status:进程状态,类似于windows的任务管理器)
常用组合:ps -ef 标准的格式查看系统进程
ps -aux BSD格式查看系统进程
ps -aux|grep redis BSD格式查看进程名称带有redis的系统进程(常用技巧)
//显示进程的一些属性,需要了解(ps aux)
USER //用户名
PID //进程ID号,用来杀死进程的
%CPU //进程占用的CPU的百分比
%MEM //占用内存的的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
clear 清屏命令
kill 命令用来中止一个进程。(要配合ps命令使用,配合pid关闭进程)
(ps类似于打开任务管理器,kill类似于关闭进程)
kill -5 进程的PID ;推荐,和平关闭进程
kill -9 PID ;不推荐,强制杀死进程
ifconfig命令
用于查看和更改网络接口的地址和参数,包括IP地址、网络掩码、广播地址,使用权限是超级用户。(一般是用来查看的,很少更改)
如果此命令输入无效,先输入yum -y install net-tools
ifconfig
ping (用于检测与目标的连通性)语法
语法:ping ip地址
free 命令 (显示系统内存)
#显示系统内存使用情况,包括物理内存、交互区内存(swap)和内核缓冲区内存。
-b 以Byte显示内存使用情况
-k 以kb为单位显示内存使用情况
-m 以mb为单位显示内存使用情况
-g 以gb为单位显示内存使用情况
-s<间隔秒数> 持续显示内存
-t 显示内存使用总合
top 命令
#显示当前系统正在执行的进程的相关信息,包括进程 ID、内存占用率、CPU 占用率等
-c 显示完整的进程命令
-s 保密模式
-p <进程号> 指定进程显示
-n <次数>循环显示次数
netstat 命令
#Linux netstat命令用于显示网络状态。
#利用netstat指令可让你得知整个Linux系统的网络情况。
#语法:
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
file (可查看文件类型)
file 文件名
重启linux
Linux centos 重启命令:reboot
关机linux
Linux centos 关机命令:halt
时间命令
#同步时间命令
ntpdate ntp1.aliyun.com