您的位置:首页 > 运维架构 > Linux

Linux命令学习总结(一)

2016-05-30 09:18 351 查看
命令 -选项 参数

如果选项是一个单词时,选项前面要加2个-

modprobe -r pcspkr   在终端中输入的时候有声音,可以用这个命令屏蔽声音 ,需要root权限

useradd userdel

useradd tom 添加tom用户,需root权限

passwd tom 给tom用户添加密码,新创建的用户密码为空

useradd tom -p 123456 创建tom用户,并设置密码是123456

userdel tom 删除tom用户,但不删该用户的文件

user -r tom 删除tom用户的同时,把该用户的主目录下的文件删除

id 显示当前登录用户的uid和gid

   uid 系统分给用户的识别码,gid 系统分给用户组的身份唯一标识

id tom 显示tom用户的uid和gid

ls

ls 显示目录下的内容,和Windows下的dir命令相当

  ls -l(L的小写) 以长模式显示

  ls -l /usr 查看usr目录下的内容的信息

  ls -ld /usr 查看usr文件夹本身的信息

  ls -1(数字1)当前目录下的内容一行一行显示

  ls -a 显示包含隐藏文件,以.开头的都是隐藏文件

  ls -s 显示文件,以及文件的大小

  ls -1as 选项可以叠加

  ls -sh 显示文件的大小,有单位,能看懂

  ls -i 显示文件的inode值

date cal bc

pwd 显示当前所在目录

clear或者crtl+l 清屏,和Windows下的cls命令相当

date 显示日期

  date + %Y 显示年

  date + %m 显示月

  date + %M 显示分

  date -u 101109452017 设置时间为2017年10月11日9点45分

cal 显示日历

  cal 显示这个月分日历

  cal 2016 显示2016年所有的日历

  cal 05 2016 显示2016年5月的日历

bc 计算器

 bc 回车后可以计算

 1/3 开始等于0,因为默认保留小数点0位

 scale=2 设置保留小数点后2位

 quit 退出计算器

history 显示我们之前敲过的命令,默认最多显示1000个

!22 执行history命令中查询出的序号为22的命令

ctrl

ctrl+a 跳到命令行的开始位置

ctrl+e 跳到命令行的结束位置

ctrl+左箭头 一个单词一个单词的往左跳

ctrl+右箭头 一个单词一个单词的往右跳

ctrl+u 把当前光标到本行开头的字符全部删掉

ctrl+k 把当前光标到本行结束的字符全部删掉

ctrl+c 结束当前命令的执行

ctrl+d 退出终端,相当于exit命令

ctrl+shift+t 打开多个终端,可以用ctrl+d关掉

touch man

按住esc,松手时按. 引用上个命令时的参数

touch xx 创建一个xx文本文件

^xx^yy 重新执行上个命令(touch命令),并且创建的文件名改为yy

whatis ls 告诉我ls这个命令的作用,我们可以用来查看不知道的命令

man ls 显示ls这个命令的章节介绍,man这个命令可以用来查看不知道的命令

   输入/boot 高亮显示文章中的boot字

   n 从上往下查看boot

   N 从下往上查看boot

   q 退出

man -k clock 查看有clock关键字的命令,-k表示关键字

man host.allow 查看host.allow文件的作用,以及如何配置

gedit rm shutdown poweroff reboot

gedit 打开gedit文本编辑器

gedit oo 使用gedit编辑器打开oo文件继续编辑

rm -f oo 删除oo文件

nano 打开nano编辑器

 ctrl+o写入文件,没有文件名的话需要输入文件名

 ctrl+x 退出

sync 把缓存里的数据写入到硬盘中

shutdown 关机,需要root权限

 shutdown -h 10 10分钟后关机

 shutdown -k 10 10分钟后提示关机,并不会真正关机

 shutdown -h 10:50 10:50时候关机

poweroff 关机

 poweroff -f 立马关机,速度很快

reboot 重启

 reboot -f 立马重启,速度很快

init

七个运行级别在/etc/rc.d目录下

runlevel 查看当前在哪个运行级别,后面数字是当前在的,前面数字是以前在的

init 3 进入第三个级别,需要root权限

init 3 进入命令界面后输入startx命令,会启动图形化界面这个服务,但是当前还是在第3级别

init 5 进入图形化界面,因为第5个运行级别默认图形化界面启动

init 6 重启

init 0 关机

chmod chown chgrp

文件系统

/etc/passwd 用户的账户信息都放在这个文件夹下

/etc/shadow 用户的密码信息都放在这个文件夹下

/etc/group 用户的组信息都放在这个文件夹下

系统根据uid来标记用户的,不是根据用户名

ln -s abc.log hh 给sbc.log文件做一个快捷方式,名字为hh

ls -lh 以查模式显示目录,里面文件的大小有单位

  第一列有10个字符

   第一个字符:-:普通文件(二进制文件或文本文件);d:文件夹;b:设备文件(可以用来存储东西的文件)

               c:设备文件(字符型文件,不能用来存储东西); l:快捷方式

   下面九个字符:代表了文件的权限,把这9个字符分成三组,第一组针对文件所有者(用户)

                 第二组针对用户组里的人,第三组针对其他用户,每组有3个字符

                 这三个字符分别是r:读权限,w-写权限,x:执行权限,如果哪一个组少了什么字符,

                 就是没有什么权限        

chmod 更改用户(u),用户组(g),其他人(o)对某一个文件的权限

chmod u+x,g+w,o-r abc.log 更改为:用户对abc.log文件的权限:加上可执行权限

                                  用户组对abc.log文件的权限:加上写权限

                                  其他人对abc.log文件的权限:减去读权限

chmod ug-rw abc.log 更改用户和用户组对abc.log文件的权限:减去读和写权限

  相同的可以写在一起

x权限如果是在一个文件夹上,有x权限的人可以进入这个目录,即可以cd过来

  没有的话不能cd过来

chmod ug=x abc.log 不管用户和用户组以前对abc.log文件有什么权限,这个命令执行过后只有:可执行权限

chmod a=rw abc.log a的意思就ugo的简写

chmod +r abc.log 在+r权限前没有指明是用户或用户组或其他人,默认对用户添加读权限(但本人测试是对三个都加了)

chmod +w abc.log 在+w权限前没有指明是用户或用户组或其他人,默认对用户和用户组添加写权限

chmod +x abc.log 在+x权限前没有指明是用户或用户组或其他人,默认对三个都添加执行权限

我们把r权限当成4,w权限当成2,x权限当成1

如果说用户对某一个文件的权限是数字5,那么就是有r权限和x权限

chmod 743 abc.log 更改用户、用户组、其他人abc.log的权限,分别是rwx、r、rx权限

chmod 000 /usr 更改usr文件夹的权限为000,不会改变文件夹里面内容的权限

chmod -R 555 /usr 更改usr文件夹以及文件夹里面内容的权限为555,-R表示递归

useradd tom 添加一个tom用户

chown tom /abc.log 把abc.log的所有者(用户)改为tom用户

chown tom:tom abc.log 把abc.log文件的所有者和用户组都改为tom

   冒号(:)可以改成点(.)

chgrp root abc.log 把abc.log文件的所属组改为root

chown -R tom /usr 把usr文件夹以及里面的内容的所有者改为tom

chgrp -R tom /usr 把usr文件夹以及里面的内容的所属组改为tom

file

file abc.log 查看文件的类型

Linux根目录下有很多文件夹

  bin:存放二进制文件

  boot:系统的启动文件(内核的配置文件等)

  dev:存放设备文件,移动硬盘、u盘等

  etc:配置文件

  home:用户的家目录

  lib:链接库文件

  media:系统的自动挂载点

  mnt:手动挂载点

  opt:当我们使用源码包安装时,一般都会安装在这个目录下的某一个文件夹,如果不指名安装的话,默认安装在usr目录下

  proc:指定内核参数

  root:root的家目录,其他用户的家目录都放在home目录下

  sbin:当我们敲命令时,都是存放在这个目录下

  tmp:临时文件

  usr:默认安装路径

  var:日志文件、缓存文件、数据库文件,占用空间比较大

tree uname

tree /boot 查看boot目录下的树形结构

/usr/aa/bb 绝对路径,从根目录下开始写

.表示当前目录

..表示上层路径

cd ../../../ 当前目录的上层的上层的上层目录

uname 查看内核,Linux

uname -i 查看架构(64位还是32位)

uname -r 内核版本

uname -a 查看所有信息

lsb_release -a 查看所有信息

cat /etc/redhat-release

cd mkdir rmdir rm sh

cd /usr 切换到usr目录

cd 切换到当前用户的家目录,等同于cd ~

cd ~tom 切换到tom用户的家目录,一般用户的家目录在home下,如/home/tom,root用户的家目录是/root

cd ~/tom 切换到当前用户的家目录下的tom文件夹,由此可见~后面有/和无/的区别

whoami 看当前用户是谁

cd - 切换到上次所在的目录

mkdir xx 创建xx目录

mkdir yy zz 同时创建多个目录

rmdir yy zz 同时删除多个目录,rmdir不能删除非空目录

mkdir -p xx/yy 创建xx目录,xx目录下再创建一个yy目录,-p的意思是xx目录不存在的话就创建

mkdir -p rhca/{xx,yy,zz} 创建rhca目录,在rhca目录下创建三个文件夹

rmdir -p rhca/xx 删除xx目录的同时把rhca目录也删掉,需要删掉xx目录后rhca是空的

rm -rf rhca 把rhca目录删掉,-r表示递归,-f表示强制,不管rhca目录下有没有子目录

rm -rf * 把当前目录下的所有东西强制删除

echo $PATH 查看系统命令路径

gedit xx.sh 创建一个脚本

./xx.sh 执行当前目录下的xx.sh脚本

sh xx.sh 执行xx.sh脚本

  如果我们直接写xx.sh的话,系统默认到PATH路径下找,因为我们没把这个路径加到系统path变量里,

  报找不到命令的错误,如果我们想直接写xx.sh时能找到,就需要在系统path变量里加上这路径,如/home/sun

PATH="/home/sun" 设置系统的path变量路径为/home/sun,如果我们要更改,应该先获得以前的所有命令,

  然后再加上这个路径,这里仅为方便写了

ls -ld --time=atime /boot 以长模式显示boot文件夹自身的信息,其中的时候等于最后访问时间

ls -ld --time=ctime /boot 以长模式显示boot文件夹自身的信息,其中的时候等于创建时间

ls -R / 列出根目录下的文件,-R表示递归,如果文件夹下面还有文件夹,都显示出来

cp

cp /etc/service /home/sun 把etc目录下的service文件拷贝到home/sun文件夹下,名字还是service

cp /etc/service /home/sun/xx 把etc目录下的service文件拷贝到me/sun文件夹下,重命名为xx

cp -rf /etc /home/sun 把etc目录递归、强制拷贝到sun目录,如果不加-rf,cp无法直接拷贝一个目录

cp -p /etc/service /home/sun 把etc目录下的service文件拷贝到home/sun文件夹下,名字还是service

  不加-p的话不会复制文件的属性信息,如创建时间

cp -a /etc /mnt 把etc目录都复制到mnt里,-a表示all,包含-r/-f/-p

cp -u /etc/service /mnt/service 把etc目录下的service文件复制到mnt目录下的service文件中

  如果etc目录下的service比mnt目录下的service新的话就会复制过去,反之不会复制过去

  如果不加-u的话,会有提示的

cp xx yy 把xx文件拷贝为yy文件,如果xx是快捷方式的话,实际上快捷方式的链接没拷贝过去

cp -d xx yy 加上-d,如果xx是快捷方式,会拷贝过去

rm service 删除service文件

alias 查看别名,比如当我们把rm -i命令取别名为rm,当我们敲rm时,实际执行rm -i

ls /boot/grub/grub.conf 查看/boot/grub/目录下的grub.conf,结果包含路径和文件名

basename /boot/grub/grub.conf 查看文件名,结果只有文件名

dirname /boot/grub/grub.conf 查看文件路径,结果只有路径

cat tac head nl tail more less od
strings

我们可以使用cat、tac、head、nl、tail、more、less、od查看文档的内容

cat xx 查看xx文件的内容,从前往后显示全部内容,如果内容非常多的时候,

       我们只能看到最后的东西,由此cat适合查看小文件

cat -n xx 查看文件时把每一行都加上一个编号

tac xx 查看文件的内容,从后往前显示

nl xx 查看文件内容,会在每一行前加上行号,和cat -n xx效果一样

nl -b a hosts,空行前也会加上行号

more xx 从前往后显示文件的内容,分屏显示,按enter再显示一行,按空格再显示一屏

        按q退出

less xx 从前往后显示文件的内容,分屏显示,按enter再显示一行,按空格再显示一屏

        less支持往前看,往后看,pageup往前翻,pagedown往后翻

        home翻到第一页,end翻到最后一页

        输入/然后输入要查找的内容,支持查找,按n往下翻,按N往前翻

        按q退出

head xx 查看xx文件的前几行,默认是10行

head -5 xx 查看xx文件的前5行,等同于-n 5

tail xx 查看xx文件的尾几行,默认是10行

tail -5 xx 查看文件的尾5行,等同于-n 5

tail -n +5 xx 从第5行开始查看文件内容

tail -f xx 查看文件的尾10行,但是不会退出来,我们可以监测日志文件

tailf xx 等同于tail -f xx,按crtl+c退出

service network restart 重启网络

od -t c /bin/ls -t指明显示类型 c指明用什么显示,c表示Ascii码,用于查看二进制文件

strings /bin/ls 查看文本或二进制文件的内容,强大的功能

touch ll

touch xx 如果xx文件不存在的话,创建一个新文件,名字叫xx

         如果xx文件存在的话,把这个文件的创建时间和修改时间改为当前时间

ll 等同于ls -l 以长模式显示目录内容

touch -t 20121223152536 xx 把xx的文件时间改为20121223152536

      不加时间,默认当前时间

umask chattr

umask 权限过滤壶,可以查看过滤的权限,默认0002,取后面三位

umask 333 设置权限过滤为333,再进行查看的话就是0333

umask -S 查看保留哪些字符,和umask相反

lsattr xx 查看xx文件的隐藏权限

chattr +a xx 修改xx文件的隐藏权限,+a表示只能添加,不能删除

chattr +i xx 表示这个文件不能更改,不能删除

chattr -a xx 减去隐藏a权限

chattr -i xx 减去隐藏i权限

whereis locate echo chmod

chmod u+s xx 在一个命令的所有者权限上,出现了s时,其他用户对这个文件操作时,将具有所有者的权限

which passwd 查看passwd这个命令所在的路径,结果为/usr/bin/passwd,也可以查看其他命令的路径

whereis passwd 查看passwd命令的路径,以及包含passwd命令的文件

whereis -b passwd 只看包含二进制文件命令的路径

whereis -m passwd 除二进制文件命令之外的其他命令

locate mmm 列出所有文件名有mmm字段的文件路径

   locate找文件时并不是通过硬盘找的,是通过/var/lib/mlocate/mlocate.db数据库找的

   而这个数据库是每天0点更新一次的

   如果我们想通过locate命令查看刚创建的文件,只需更新一下数据库即可

updatedb 更新数据库

locate -i mmm 查找包含mmm文件名的文件路径,不区分大小写,也就是说MMM也能找到

hostname 查看主机名

echo xxxxx 在屏幕中打印出xxxxx

echo xxx`hostname`yyy 当一个命令嵌套在其他命令中,是不会执行的,除非加上反引号·或$()

echo xxx$(hostname)yyy 执行结果和上个一样

chmod 4644 xx 设置xx文件的权限,644表示正常的权限,开始是4表示给u的位置加个S权限

chmod 2644 xx 设置xx文件的权限,644表示正常的权限,开始是2表示给g的位置加个S权限

chmod 1644 xx 设置xx文件的权限,644表示正常的权限,开始是1表示给o的位置加个T权限

find

find 目录 -属性 值

    如果不指名路径的话,默认在当前路径查找

find / -name xxx 根据文件名,在根目录下查找文件名为xxx为文件路径

find / -user xxx 根据用户名,在根目录下查找所有者为xxx的文件路径

find / -user xxx -group yyy 根据用户名和所属组,在根目录下查找所有者为xxx,且所属组为yyy的文件路径

find / -user xxx -or -group yyy 根据用户名和所属组,在根目录下查找所有者为xxx,或者所属组为yyy的文件路径

find / -uid 500 查找uid是500的用户所有的文件,当创建了用户,系统会给用户分配一个uid,作为标识

dd if=/dev/zero of=file1 bs=1M count=1 从dev下拿1个zero,每个zero大小是1M,组成一个file1

      zero本来没有大小,而且无穷多,我们用bs自定义大小,count是数目

find -size 4M 在当前路径下查找文件大小是4M的文件

find -size +2M 在当前路径下查找文件大小大于2M的文件

find -size -2M 在当前路径下查找文件大小小于2M的文件

find -size +2M -size -5M 在当前路径下查找文件大小大于2M、小于5M的文件

find -ctime 1 查找创建时间正好过1天的

find -ctime +1 找到1天之前创建的文件

find -cmin +1 查找创建时间大于1分钟的文件

find -newer file1 在当前目录查找比file1新的文件,就是比file1创建时间晚的

find /mnt -perm 222 在mnt目录下查找文件权限是222的文件

find /mnt -perm +222 在mnt目录下查找文件权限中的u、g、o只要有一个有w权限的的文件

     它们之间是或的关系

find /mnt -perm -222 在mnt目录下查找文件权限中的u、g、o都有w权限的的文件

     它们都要有w权限,当然除了w权限也可以有其他权限

     它们是并的关系

find / -perm -2 other必须要有w权限

find / -perm -22 group必须要有w权限,other必须要有w权限

filefrag dumpe2fs df du

ls -i xxx 查看xxx文件在inode里的序号,inode存储了block的信息,block存着文件数据

  ls -i /etc 查看etc目录下文件的inode序号

  ls -id /etc 查看etc文件夹的inode序号

filefrag -v xxx 查看xxx文件分布在哪些block里

dumpe2fs /dev/sda1 | more 查看日志

VFS

linux支持ext2、ext3、vfat文件系统

df 显示已挂载的文件系统

df -h 以更适合查看的单位来显示已挂载的文件系统

df -hT 以更适合查看的单位来显示已挂载的文件系统,包含显示文件系统的类型

du /etc 显示文件夹的大小,也显示文件夹里面东西的大小

du -s /etc 显示etc文件夹的大小,不显示里面东西的大小,s表示single

du -sh /etc 带单位显示文件夹的大小

du -h xx 带单位显示xx文件的大小

ln fdisk partprobe mkfs mount umount swapon swapoff

软连接:快捷方式

ln -s aa aa1 创建aa文件的快捷方式(软连接)aa1,指向aa

ln aa aa1 创建aa文件的硬链接aa1,硬链接不能分区,创建硬链接时不加参数

  ll xx 显示xx文件的长模式数据,权限后的数字是xx文件的硬链接数

diff aa aa1 显示aa和aa1文件不同的内容

fdisk -l 显示系统所有的硬盘,和对应的分区,需要root权限

fdisk -l /dev/sda 查看sda硬盘和分区

fdisk /dev/sda 给sda硬盘进行分区,fdisk后面跟硬盘名,我们是对硬盘进行分区

  我们给一个硬盘分配分区时,一个硬盘最多划分为4个主分区,所以主分区+扩展分区<=4

  我们划分的分区为主分区或扩展分区,然后我们可以在扩展分区上划分逻辑分区

partprobe /dev/sda 更新sda硬盘的分区表

partprobe 后面不加硬盘,更新所有硬盘的分区表

刚划分好的逻辑分区不能直接使用,需要先格式化

mkfs -t ext3 /dev/sda5 以ext3文件系统格式化sda5分区,默认一个block size是1K

mkfs -t ext3 -b 4096 /dev/sda5 以ext3文件系统格式化sda5分区,设置1个block size是4K

mkfs.ext3 /dev/sda5 以ext3文件系统格式化sda5分区,默认一个block size是1K

  和mkfs -t ext3 /dev/sda5效果一样

格式化好的分区需要挂载,挂载后才能使用

mount /dev/sda5 /mnt 把sda5分区挂载到mnt目录下,当我们访问mnt时,实际上访问的是sda5分区

mount -o 选项 -t 文件系统

mount -o remount,ro /mnt 以只读的形式重新挂载mnt目录,ro表示只读

mount -o remount,rw /mnt 以可读可写的形式重新挂载mnt目录,rw表示可读可写

mount -o remount,noexec /mnt 以不可执行权限重新挂载mnt目录,noexec表示没有可执行权限

mount -o remount,exec /mnt 以可执行权限重新挂载mnt目录,noexec表示有可执行权限

使用df -hT 查看已挂载的分区

实际上我们用mount挂载的只是在这一次系统启动时有效,重启了就没有了

需要我们在/etc/fstab文件里写入才能开机启动

umount /mnt 卸载mnt目录下挂载的分区

  和umount /dev/sda5效果一样

  umount 外部设备

  umount 挂载点

fuser -mv /mnt 查看哪个进程正在使用mnt目录

fsck /dev/sda5 检查sda5磁盘有没有问题

fsck -f /dev/sda5 强制检查sda5磁盘有没有问题

fsck -C -f /dev/sda2 能显示检查的过程

badblocks /dev/sda5 检查sda5磁盘的坏道

badblocks -sv /dev/sda5 检测sda5磁盘的坏道,有进度,并把结果显示出来

tune2fs -l /dev/sda5 查看sda5分区的信息

e2label /dev/sda5 xx 修改sda5分区的卷标为xx

e2label /dev/sda5 查看sda5分区的卷标

mount -o loop xx.iso /mnt 把xx.iso镜像文件挂载到mnt目录下

  挂载镜像文件要加上loop

cat /proc/swaps 查看swaps文件来看系统的交换分区和虚拟内存

mkswap /dev/sda6 把sda6变成一个交换分区

swapon /dev/sda6 激活sda6这个交换分区

  然后cat /proc/swaps才能查到sda6这个交换分区

swapoff /dev/sda6 关闭sda6这个交换分区

如果想开机启动的话,就需要写进/etc/fstab文件中

  也可以把一个文件里的空间变成交换分区

gzip bzip2 tar

gzip xx 压缩xx文件为xx.gz

  gzip -c xx > xx.gz 压缩后原文件保存

zcat xx.gz 直接查看压缩文件的内容

gzip -d xx.gz 解压文件

bzip2 xx 压缩文件为xx.bz2

  bzip2 -c xx > xx.gz 压缩后原文件保存

bzcat xx.gz 直接查看压缩文件的内容

bzip2 -d xx.gz 解压文件

zip xx.zip xx 把xx压缩为xx.zip

unzip xx.zip 解压

通过对一个文件压缩后发现,gzip压缩效果最好,bzip2第二,但是zip压缩后反而压缩文件比原文件大

tar -cvf xx.tar xx 把xx文件打包成xx.tar

  c是创建一个文件;v是显示创建过程;f是指明创建后的文件名,以tar结尾

tar -cvf xx.tar xx --remove-files 打包后不保留原文件

tar -tvf xx.tar 不解档的情况下查看打包的内容

tar -xvf xx.tar 解档tar包

tar -xvf xx.zip -C /mnt 把打包文件解档到哪个目录下

  -C后加上目录

tar -cvf xx.tar * --remove-files 把当前目录下的所有文件都打包到xx.tar

tar -xvf xx.tar hosts 把xx.tar包里的hosts文件解压出来,其他的不解压

tar -zcvf xx.tar.gz * 打包过程中进行压缩

  -z表示调用gzip压缩工具压缩,所以压缩后的名以.gz结尾

  最后加上--remove-files会删除原文件

tar -zxvf xx.tar.gz 解压

tar -jcvf xx.tar.bz2 * 打包过程中进行压缩

  -z表示调用bzip2压缩工具压缩,所以压缩后的名以.bz2结尾

  最后加上--remove-files会删除原文件

tar -jxvf xx.tar.gz 解压

dump restore mkisofs dd cpio

dump -0

 0表示完全备份

dump -0u -f /etc/xx.dump /dev/sda3 把sda3硬盘里的数据备份到xx.dump中

 备份级别有0-9,0表示完全备份,每一次备份级别只备份上次备份级别比它小的

restore -r -f /etc/xx.dump 恢复备份的数据,-r表示恢复全部文件

restore -i -f /etc/xx.dump 恢复备份文件的部分数据,回车后输入?回车,能看到命令提示

mkisofs -o xx.iso file1 file2 file3 把file1 file2 file3三个文件刻录成iso镜像

mount -o loop xx.iso /mnt 把xx.iso镜像挂载到mnt目录下

cp /dev/cdrom xx.iso 直接把光盘里的东西复制成iso镜像

dd if=/dev/sda3 of=test 把sda3整个的硬盘数据备份到test

dd if=test of=/dev/sda3 从test恢复到sda3中

find -name 'file*' | cpio -o > xx.cpio 把|前面用命令找到的结果通过管道传给cpio,cpio将他们打包成xx.cpio

   -o表示打包

cpio -iu < xx.cpio -i表示解压

vim

由命令模式进入插入模式,按i、I、a、A、o、O

  i 光标还在当前光标

  I 光标移到本行开头

  a 光标在光标后一个字符

  A 光标跳到本行结束

  o 当前行下一行产生一个空白行

  O 当前行上一行产生一个空白行

由插入模式进入命令模式,按ESC键

在命令模式 w表示保存;q表示退出;!表示强制执行

  wq保存并退出

  q!不保存强制退出

按ESC后,按yy表示复制光标所在一行,按p表示复制

在命令模式,输入set nu 在每行前面增加了一个行号,只是在内存中增加,文件不会保存

  set nonu 取消每行前的行号

s/rhce/RHCA/ 把光标所在的当前行中的第一个rhce换成RHCA

s/rhce/RHCA/g 把光标所在的当前行中的所有rhce换成RHCA

在命令模式,输入u表示还原,按ctrl+r表示前进

6,18s/rhce/RHCA/g 把从第6行到第18行的所有rhce换成RHCA

.,18s/rhce/RHCA/g 把从当前行到第18行的所有rhce换成RHCA

.,$-1s/rhce/RHCA/g 把从当前行到倒数第二行的所有rhce换成RHCA

 .表示当前行

  $表示最后一行,$-1表示倒数第二行

%s/rhce/RHCA/g 把全文所有rhce换成RHCA

%s/rhce//g 把全文所有rhce删除

10,18s/^/#/g 把从第10行到第18行开头加上#

10,18s/^#//g 把从第10行到第18行开头为#的字符去掉

在末行模式输入3,快速的进入到第三行

在命令模式输入/同样可以进入末行模式,用来查找

在命令模式

  先按5,再按shift+g或G跳到第5行

  按shift+g或G跳到最后一行

  按两下g跳到第一行

  按yy复制当前行

  按p粘贴

  按4yy复制当前行往下4行

  按dd剪切当前行,相当于删除

  按4dd从当前行剪切4行

  先按r再按5把当前字符替换为5

  按x把当前字符删掉

  按ctrl+v进入可视块,用上下左右箭头移动来选中要复制的区域,按y复制,按p粘贴

vim xx yy 同时打开xx和yy两个文件

  在末行模式下输入n进入下一个文件,N进入上一个文件,first跳到第一个文件,last跳到最后一个文  件。

在末行模式输入sp,可以分屏操作同一个文件

  按ctrl+w后按上下箭头可以跳屏

  或者按住ctrl,连续按两下w也可以跳屏

如果想每次打开文件都有行号显示,需要进入家目录,编辑.vimrc文件,输入set nu保存

vim /etc/sysconfig/i18n 这个文件规定了系统的编码

unix1dos -n xx yy 把linux下的文件xx转成Windows能正确显示的文件yy

 -n表示日期变成现在的

 -k表示日期还是原来的

dos2unix命令表示把Windows下的文件转成linux能正确显示的文件
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux Linux命令