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,test2
  • touch 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结束的文件复制到/mnt
  • cp -f /home/install.log /home 将/home目录下install.log文件复制到/home目录下,并且备份,覆盖前不询问
  • cp /home/install.log /mnt/ins.log 将/home目录下install.log文件复制到/mnt目录下,并且重命名为ins.log
  • cp -r /home/* /mnt 将/home目录所有文件(包括子目录)复制到/mnt目录

mv 移动或重命名

  • mv test /backup 移动test目录(包括子目录的内容)到/backup
  • mv test test_new 将test目录重命名为test_new
  • mv 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打开的所有文件

posted @ 2019-03-12 18:02  fengMisaka  阅读(583)  评论(0编辑  收藏  举报