Linux常用操作指令
一、文件目录管理命令
ls 显示文件或目录
ls /mnt
仅列出/mnt下所有目录及文件的名称ls -l /mnt
||ll /mnt
将/mnt目录及其以下所有目录及文件详细资料列出ls -a /mnt
列出/mnt目录下所有文件及目录,包括隐藏的文件ls -lt /mnt
按创建时间列出/mnt目录下的所有文件的详细信息
cd 切换目录
cd
(后面可加可不加” ”) ||cd ~
改变目录位置至用户登录时的主目录cd /
改变目录至根目录cd ..
||cd ../
改变目录位置至当前目录的父目录cd /dir1
改变目录位置至 /dir1 目录下
pwd 显示当前工作目录的绝对路径
touch 创建空文件
touch test1 test2
在当前目录同时创建两个文件test1,test2touch test3
&&touch test3 test1
创建文件test3,并用test3的时间属性设置test1
rm 删除文件
rm -r user/*
递归删除user目录的子目录及文件rm -f user/*
强制删除user目录的子目录及文件rm -f home/te*
使用一条命令强制删除home目录下的所有te开头的文件
mkdir 创建目录
mkdir /home/user
在home目录下新建/home/user目录mkdir –p /home/user/a/b/c/d
一次创建/a/b/c/d 四个目录
rmdir 删除空目录
rmdir /home/user
删除home目录下的user目录rmdir –p /cdrom/aaa/bbb
一次删除 /cdrom/aaa/bbb三个空目录
cat 查看文件内容
cat /etc/profile
查看系统环境配置文件cat /etc/profile > /home/feng/test.txt
将系统环境配置文件查看到的内容存入 /home/feng/test.txt
cp 拷贝
cp /home/*.txt /mnt
将/home目录下所有以.txt结束的文件复制到/mntcp -f /home/install.log /home
将/home目录下install.log文件复制到/home目录下,并且备份,覆盖前不询问cp /home/install.log /mnt/ins.log
将/home目录下install.log文件复制到/mnt目录下,并且重命名为ins.logcp -r /home/* /mnt
将/home目录所有文件(包括子目录)复制到/mnt目录
mv 移动或重命名
mv test /backup
移动test目录(包括子目录的内容)到/backupmv test test_new
将test目录重命名为test_newmv test1 /home/test4
把test1目录移动到/home目录下面,并重新命名为test4
echo 创建带有内容的文件
echo content > file
创建文件file,其内容为"content"字符串echo addContent >> file
追加"addContent"字符串到文件file
more、less 分页显示文本文件内容
more +2 -5 /etc/passwd
从第2行开始查看账户文件(/etc/passwd),并将每屏设置5行显示less –M /etc/passwd
查看账户文件(/etc/passwd)的内容,并显示读取文件的行号、百分比以及总行号
more的动作指令
/*
我们查看一个内容较大的文件时,要用到more的动作指令,比如ctrl+f(或空格键)是向下显示一屏,ctrl+b是返回上一屏; Enter键可以向下滚动显示n行,要通过定,默认为1行。
*/
Enter //向下n行,需要定义,默认为1行;
Ctrl+f //向下滚动一屏;
空 键 //向下滚动一屏;
Ctrl+b //返回上一屏;
= //输出当前行的行号;
:f //输出文件名和当前行的行号;
v //调用vi编辑器;
! 命令 //调用Shell,并执行命令;
q // 退出more
less的常用参数和动作指令
-c //从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
-f //强制打开文件,二进制文件显示时,不提示警告;
-i //搜索时忽略大小写;除非搜索串中包含大写字母;
-I //搜索时忽略大小写,除非搜索串中包含小写字母;
-m //显示读取文件的百分比;
-M //显法读取文件的百分比、行号及总行数;
-N //在每行前输出行号;
-p pattern //搜索pattern;比如在/etc/profile搜索单词MAIL,就用 less -p MAIL /etc/profile
-s //把连续多个空白行作为一个空白行显示;
-Q //在终端下不响铃;<br />
less的动作命令
回车键 //向下移动一行;
y //向上移动一行;
空格键 //向下滚动一屏;
b //向上滚动一屏;
d //向下滚动半屏;
h //less的帮助;
u //向上洋动半屏;
w //可以指定显示哪行开始显示,是从指定数字的下一行显示;比如指定的是6,那就从第7行显示;
g //跳到第一行;
G //跳到最后一行;
p //n% 跳到n%,比如 10%,也就是说比整个文件内容的10%处开始显示;
/pattern //搜索pattern ,比如 /MAIL表示在文件中搜索MAIL单词;
v //调用vi编辑器;
q //退出less;
!command //调用SHELL,可以运行命令。
head、tail 显示文件头、尾内容
head -n 2 /etc/hosts
显示网络服务文件(etc/services)的前2行的内容tail -n 5 /etc/hosts
显示主机配置文件(/etc/hosts)的最后5行的内容
find 在文件系统中搜索某文件
find /etc –size 5k (-type f)
找出/etc目录中所有大小为5k的文件(默认查找文件,若需查找目录,则加上-type –d)find /etc –size +3k (-type f)
找出/etc目录中所有大小超过3k的文件find /etc -size -900 -size 4k (-type f)
查找/etc目录中文件大小大于900bytes和小于4000bytes之间的文件find /etc -mmin -60
查找系统使用时间最后半个小时/etc目录中有哪些文件被访问了find /etc -atime -5
查找/etc目录下最后5天访问的文件find /root -empty
查找/root目录下所有空文件find /home/feng/ -group feng
查找目录/home/feng/下属主为feng的文件
cmp 比较两个文件是否相同
cmp a.txt b.txt
比较a.txt,b.txt两个文件是否相同,并在屏幕上打印结果
grep 在文本文件中查找某个字符串
find /etc/profile |grep ‘path’
使用grep命令从/etc/profile中查询包含path关键字的行(pathasd也会被查询到)find /etc/profile |grep "path"
使用grep命令从/etc/profile中查询包含path关键字的行(pathasd不会被查询到)
wc 统计文本中行数、字数、字符数
tree 树形结构显示目录,需要安装tree包
ln 创建链接文件
file 查看具体类型
file /home/feng/test
查看/home/feng目录下的文件test的具体类型
二、系统管理命令
stat 显示指定文件的详细信息,比ls更详细
who 显示在线登陆用户
whoami 显示当前操作用户
top 动态显示当前耗费资源最多进程信息
ps 显示瞬间进程状态 ps -aux
df 查看磁盘大小 df -h 带有单位显示磁盘信息
man 命令不会用了,使用man 如:man ls
clear | ctrl+l 清屏
alias 对命令重命名 如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit
kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程
shutdown
- -r 关机重启
- -h 关机不重启
- now 立刻关机
sync #将数据由内存同步到硬盘中。
shutdown –r now #系统立马重启
shutdown –h now #系统立马关机
shutdown –r +10 #系统十分钟后重启
shutdown –h +10 #系统十分钟后关机
shutdown –h 20:25 #系统会在今天20:25关机
shutdown –h 10 ‘This server will shutdown after 10 mins’ #这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。
halt 立马关机
reboot 立马重启
三、网络相关命令
ifconfig 查看网络情况
ifconfig
显示本地主机上所有网络接口的信息ifconfig eth0 192.168.1.108
设置第一网络接口的IP为 192.168.1.108(重启后失效)inconfig eth0 192.168.1.108 netmask 255.255.255.0 gw 192.168.1.255
设置eth0网络接口,ip为192.168.1.108,子网掩码为255.255.255.0,网关地址为192.168.1.255(重启后失效)ifconfig eth0 down
关闭eth0网络接口ifconfig eth0 up
启动eth0网络接口
ping IP 测试网络连通
hostname 显示主机名
hostname
查看当前主机的主机名hostname limi
将当前主机名更改为limi
service network restart 重启网络服务
四、打包压缩相关命令
文件后缀的含义
随着压缩技术的发展,Linux环境下提供的压缩指令和格式开始变多。为了便于用户区分不同压缩文件使用的不同压缩技术,进而使用合适的指令进行操作,一般使用后缀标识文件在压缩或打包过程中所使用的压缩技术。常见的后缀有以下几种:
*.Z // compress程序压缩产生的文件(现在很少使用)
*.gz // gzip程序压缩产生的文件
*.bz2 // bzip2程序压缩产生的文件
*.tar // tar程序打包产生的文件
*.tar.gz // 由tar程序打包并由gzip程序压缩产生的文件
*.tar.bz2 // 由tar程序打包并由bzip2程序压缩产生的文件
从后缀可以看出,gzip、bzip2、tar指令是在打包和压缩过程中较为常用的指令。
压缩和打包的区别
(1)压缩也是一种打包,压缩的原理是将文件中相同的信息用一个字符代替,致使文件体积变小达到压缩的目的,压缩对于文本类或数据类文件有较明显的作用。
(2)打包就是将一些文件放在一起变成一个包,便于保存和传输,图片和视频数据因为不象文本一样,因此多个图片在压缩的时候没有明显效果,因此只能做打包,进行保存。
打包指令—tar
tar 指令可以将文件打包成文件档案(archive)存储在磁盘/磁带中,打包操作一般伴随压缩操作,也可以使用 tar 指令对打包压缩后的文件解压。
tar 常用命令参数如下:
//指定tar进行的操作,以下三个选项不能出现在同一条命令中
-c //创建一个新的打包文件(archive)
-x //对打包文件(archive)进行解压操作
-t //查看打包文件(archive)的内容,主要是构成打包文件(archive)的文件名
//指定支持的压缩/解压方式,操作取决于前面的参数,若为创建(-c),则进行压缩,若为解压(-x),则进行解压,不加下列参数时,则为单纯的打包操作
-z //使用gzip进行压缩/解压,一般使用.tar.gz后缀
-j //使用bzip2进行压缩/解压,一般使用.tar.bz2后缀
//指定tar指令使用的文件,若没有压缩操作,则以.tar作为后缀
-f filename //-f后面接操作使用的文件,用空格隔开,且中间不能有其他参数,推荐放在参数集最后或单独作为参数
//其他辅助选项
-v //详细显示正在处理的文件名
-C Dir //将解压文件放置在 -C 指定的目录下
-p(小写) //保留文件的权限和属性,在备份文件时较有用
-P(大写) //保留原文件的绝对路径,即不会拿掉文件路径开始的根目录
-r //追加一个文件到压缩文件末
--exclude=file //排除不进行打包的文件
常见的tar指令操作如下:
//压缩:
tar -cvjpf etc.tar.bz2 /etc //-c为创建一个打包文件,相应的-f后面接创建的文件的名称,使用了.tar.bz2后缀,-j标志使用bzip2压缩,最后面为具体的操作对象/etc目录
//查看:
tar -tvjf etc.tar.bz2 //-t为查看操作,则-f对应所查看的文件的名称,文件后缀显示使用bzip2进行压缩,所以加入-j选项,-v会显示详细的权限信息
//解压
tar -xvjf etc.tar.bz2 /mnt //-x为解压操作,则-f指定的是解压使用的文件,文件后缀显示使用bzip2进行压缩,所以加入-j选项,即使用bzip2解压
//若只解压指定打包文件中的一个文件,在上述指令的最后加上带解压文件名作为参数即可
五、用户及用户组管理
/etc/passwd //存储用户账号
/etc/group //存储组账号
/etc/shadow //存储用户账号的密码
/etc/gshadow //存储用户组账号的密码
/etc/profile //系统环境变量
bash_profile //用户环境变量
.bashrc //配置文件
useradd //添加用户
userdel //删除用户
groupadd //添加组
groupdel //删除组
passwd root //给root设置密码
sudo su //切换为管理员
su user //切换用户,加载配置文件.bashrc
六、vim编辑器常用命令
vim三种模式:命令模式、插入模式、编辑模式。使用 ESC 或 i 或 : 来切换模式。
编辑模式下:
【dd】 //删除光标所在的一整行
【ndd】 //删除光标所在的向下n行
【yy】 //复制光标所在的那一行
【nyy】 //复制光标所在的向下n行
【p,P】 //p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴
【u】 //撤消上一个操作
【[Ctrl] + r】 //多次撤消
【G】 //光标移动到文件的最后一行(第一个字符处)
【nG】 //n为数字(下同),移动到当前文件中第n行
【gg】 //移动到文件的第一行,相当于"1G"
【n[Enter]】 //光标向下移动n行
【[Ctrl] + f】 //屏幕向下移动一页(相当于Page Down键)
【[Ctrl] + b】 //屏幕向上移动一页(相当于Page Up键)
【/word】 //在文件中查找内容为word的字符串(向下查找)
【?word】 //在文件中查找内容为word的字符串(向上查找)
【[n]】 //表示重复查找动作,即查找下一个
【[N]】 //反向查找下一个
【:s/old/new/】//替换当前行第一个 old 为 new
【:s/old/new/g】 //替换当前行所有 old 为 new
【:n,$s/old/new/】 //替换第 n 行开始到最后一行中每一行的第一个 old 为 new
【:n,$s/old/new/g】 //替换第 n 行开始到最后一行中每一行所有 old 为 new
n 为数字,若 n 为"."表示从当前行开始到最后一行
【:%s/old/new/】 //替换每一行的第一个 old 为 new
【:%s/old/new/g】 //替换每一行中所有 old 为 new
【:n1,n2s/word1/word2/g】 //n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2
命令模式下:
【:w】 //保存文件
【:w!】 //若文件为只读,强制保存文件
【:q】 //离开vi
【:q!】 //不保存强制离开vi
【:wq】 //保存后离开
【:wq!】 //强制保存后离开
【:set nu】 //显示行号
【:set nonu】 //取消显示行号
【:w newfile】 //另存为
【:set fileencoding】 //查看当前文件编码格式
【:set fileencoding=utf-8】 //设置当前文件编码格式为utf-8,也可以设置成其他编码格式
多文件编辑:
【vim file1 file2】 //同时打开两个文件
【:n】 //编辑下一个文件
【:N】 //编辑上一个文件
【:files】 //列出当前用vim打开的所有文件