Linux系统学习总结

目录

硬件管理

查看cpu

查看内存

查看磁盘

网络通讯管理

curl和wget

telnet 

ifconfig

route

iptables

netstat

ping

ssh

ifconfig和netstat比较

用户管理

groupadd

groupdel

groupmod

​编辑

useradd

userdel

usermod

passwd

su

系统管理

reboot

exit

shutdown

 date

mount

umount

 ps

kill

service

 systemctl

软件安装与管理

软件安装方式

 rpm命令

 yum

  apt-get 或 apt

文件压缩和解压

tar

gzip

zip

unzip

目录管理

cd

ls

pwd

mkdir

rmdir

tree

文件管理

touch

 ln

rename 

stat

file

文件和目录管理共用命令

属性管理

chmod

  chown

练习

管理操作

find

locate 

updatedb

which

 whereis

命令对比

 cp

mv

rm

scp

通配符

常见通配符

 实例

文件内容查看

tail 命令

head 命令

cat命令

more 命令

less命令

文件编辑命令

grep 命令

wc 命令


硬件管理

查看cpu

查看CPU信息命令

cat   /proc/cpuinfo

使用top命令查看CPU的使用情况

top

查看内存

free命令查看内存

free

查看磁盘

df(disk free):显示磁盘分区(系统)上可以使用的磁盘空间

-a #查看全部文件系统,单位默认KB
-h #使用-h选项以KB、MB、GB的单位来显示,可读性高~~~(最常用)

du (disk usage): 显示每个文件和目录的磁盘使用空间,也就是文件的大小。 

网络通讯管理

curl和wget

curl 命令是一个利用 URL 规则在命令行下工作的文件传输工具。wget 命令用来从指定的 URL 下载文件。

# 下载文件
$ curl http://man.linuxde.net/text.iso --silent

# 下载文件,指定下载路径,并查看进度
$ curl http://man.linuxde.net/test.iso -o filename.iso --progress
########################################## 100.0%
————————————————

# 使用 wget 下载单个文件
$ wget http://www.linuxde.net/testfile.zip

telnet 

Linux telnet命令用于远端登入。执行telnet指令开启终端机阶段作业,并登入远端主机。

实例  登录远程主机

# 登录IP为 192.168.0.5 的远程主机
telnet 192.168.0.5 

ifconfig

ifconfig 命令用来查看和配置网络设备

  • 查看和编辑,所有网络接口及其状态ifconfig -a 或者 ifconfig
  • 使用 up 和 down 命令启动或停止某个接口:ifconfig eth0 up 和 ifconfig eth0 down 

route

在网络中,route命令用来显示、添加、删除和修改网络的路由。

route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
112.124.12.0    *               255.255.252.0   U     0      0        0 eth1
10.160.0.0      *               255.255.240.0   U     0      0        0 eth0
192.168.0.0     10.160.15.247   255.255.0.0     UG    0      0        0 eth0
172.16.0.0      10.160.15.247   255.240.0.0     UG    0      0        0 eth0
10.0.0.0        10.160.15.247   255.0.0.0       UG    0      0        0 eth0
default         112.124.15.247  0.0.0.0         UG    0      0        0 eth1

iptables

iptables ,是一个配置 Linux 内核防火墙的命令行工具

netstat

Linux netstat命令用于显示网络状态,使用最多的是打印网络连接信息

利用netstat指令可让你得知整个Linux系统的网络情况

[root@localhost app]# netstat -anp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2717/master
tcp        0      0 10.10.1.132:6379        0.0.0.0:*               LISTEN      9717/redis-server 1
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1874/nginx: master
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1291/sshd
tcp        0      0 10.10.1.132:6379        10.0.20.3:62257         ESTABLISHED 9717/redis-server 1
tcp        0      0 10.10.1.132:6379        10.10.1.113:51015       ESTABLISHED 9717/redis-server 1

查看端口号的使用情况:netstat -anp | grep 端口号

ping

Linux ping命令用来测试主机之间网络的连通性

执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

ssh

ssh 命令是 openssh 套件中的客户端连接工具,可以给予 ssh 加密协议实现安全的远程登录服务器

# ssh 用户名@远程服务器地址
ssh user1@172.24.210.101
# 指定端口
ssh -p 2211 root@140.206.185.170

ifconfig和netstat比较


用户管理

groupadd

groupadd 命令用于创建一个新的用户组,新用户组的信息将被添加到系统文件中。

  • -g:指定新建工作组的 id。设置组ID,最好不要小于等于1000以下,因为1000内已经有很多系统自带的组。
  • /etc/group 组账户信息
  • /etc/gshadow 安全组账户信息。
  • /etc/login.defs Shadow密码套件配置。
groupadd -g 344 itholmes

groupdel

groupdel 命令用于删除指定的用户组。如: groupdel  itholmes

groupmod

groupmod 命令更改群组识别码(组ID)或名称(组名称)

useradd

useradd 可用来建立用户帐号。帐号建好之后,再用 passwd 设定帐号的密码。使用 useradd 指令所建立的帐号,实际上是保存在 /etc/passwd 文本文件中

  • -r  建立系统帐号。
  • -d<登入目录>  指定用户登入时的起始目录
  • -g<群组>  指定用户所属的群组。
  • -G<群组>  指定用户所属的附加群组。
  • -u<uid>  指定用户ID
添加一般用户
# useradd tt

为添加的用户指定相应的用户组
# useradd -g root tt

创建一个系统用户
# useradd -r tt

为新添加的用户指定home目录
# useradd -d /home/myd tt

建立用户且制定ID
# useradd caojh -u 544

——————————————————————————————
# 创建新用户itholmes,加入itholmesGroup组中。
$ useradd -d /opt/ -g itholmesGroup -r -u 544 itholmes

userdel

userdel 命令用于删除给定的用户,以及与用户相关的文件若不加选项,则仅删除用户帐号,而不删除相关文件

  • -r  删除用户登入目录以及目录中所有文件。
# userdel -r sam

usermod

usermod 命令用于修改用户的基本信息usermod 命令不允许你改变正在线上的使用者帐号名称。当 usermod 命令用来改变 user id,必须确认这名 user 没在电脑上执行任何程序

  • -u<uid>  修改用户ID。
  • -d登入目录>  修改用户登入时的目录。
  • -g<群组>  修改用户所属的群组。
  • -G<群组>  修改用户所属的附加群组。
  • -L  锁定用户密码,使密码无效。
# 更改登录目录
$ usermod -d /home/hnlinux root
# 改变用户的uid
$ usermod -u 123 root

passwd

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:  passwd   选项   用户名

可使用的选项:

  • -l 锁定口令,即禁用账号。
  • -u 口令解锁。
  • -d 使账号无口令。
  • -f 强迫用户下次登录时修改口令。
passwd 命令还可以用 -l(lock) 选项锁定某一用户,使其不能登录,例如:

# passwd -l sam

su

su 命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码。

系统管理

reboot

重新启动正在运行的 Linux 操作系统

exit

exit命令用于退出目前的shell(脚本)

shutdown

shutdown 命令用来系统关机命令

shutdown –h 10 ‘This server will shutdown after 10 mins’ 这个命令告诉大家,计算机将在10分钟后关机,并且会显示在登陆用户的当前屏幕中。

shutdown –h now 立马关机

shutdown –h 20:25 系统会在今天20:25关机

shutdown –h +10 十分钟后关机

shutdown –r now 系统立马重启

shutdown –r +10 系统十分钟后重启

 date

date 命令是显示或设置系统时间与日期

# 格式化输出
date +"%Y-%m-%d"
2009-12-07

# 输出昨天日期
date -d "1 day ago" +"%Y-%m-%d"
2012-11-19

mount

mount 命令用于挂载文件系统到指定的挂载点。

  • 挂载是将其他机器上的磁盘映射到本机器上来,使得在本机器上可以访问其他机器的文件;如在IP1服务器上可以访问IP2上的资源。
  • 软连接是一种快捷方式,这两个区分好!
用默认的方式,将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上面!

[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem           1K-blocks      Used Available Use% Mounted on
.....中间省略.....
/dev/hdc6              1976312     42072   1833836   3% /mnt/hdc6

umount

umount 命令用于卸载已经挂载的文件系统。利用设备名或挂载点都能 umount 文件系统,不过最好还是通过挂载点卸载,以免使用绑定挂载(一个设备,多个挂载点)时产生混乱。

卸载/dev/hdc6

[root@www ~]# umount /dev/hdc6     

 ps

ps 命令用于报告当前系统的进程状态。

kill

kill 命令用来删除执行中的程序或工作

service

service 命令是 Redhat Linux 兼容的发行版中用来控制系统服务的实用工具,它以启动、停止、重新启动和关闭系统服务,还可以显示所有系统服务的当前状态。

service network status
配置设备:
lo eth0
当前的活跃设备:
lo eth0

service network restart
正在关闭接口 eth0:                                        [  确定  ]
关闭环回接口:                                             [  确定  ]
设置网络参数:                                             [  确定  ]
弹出环回接口:                                             [  确定  ]
弹出界面 eth0:                                            [  确定  ]

 systemctl

systemctl 命令是系统服务管理器指令。init 系统有关。

在这里插入图片描述

软件安装与管理

软件安装方式

 rpm命令

rpm 命令是 RPM 软件包的管理工具

 演示

 yum

 yum 命令 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

  apt-get 或 apt

apt-get 命令是 Debian Linux 发行版中的 APT 软件包管理工具。所有基于 Debian 的发行都使用这个包管理系统。deb 包可以把一个应用的文件包在一起,大体就如同 Windows 上的安装文件。

# 更新 apt-get
apt-get update

# 安装一个软件包
apt-get install packagename

# 卸载一个已安装的软件包(保留配置文件)
apt-get remove packagename

# 卸载一个已安装的软件包(删除配置文件)
apt-get –purge remove packagename

# 如果需要空间的话,可以让这个命令来删除你已经删掉的软件
apt-get autoclean apt

# 把安装的软件的备份也删除,不过这样不会影响软件的使用的
apt-get clean

# 更新所有已安装的软件包
apt-get upgrade

# 将系统升级到新版本
apt-get dist-upgrade

文件压缩和解压

对比:gzip处理的是单个文件,单个文件压缩成压缩文件,而tar可以将多个文件压缩或打包成一个文件。

tar

tar 配合参数,实现打包,压缩,解压缩等等操作

压缩文件 非打包

# touch a.c       
# tar -czvf test.tar.gz a.c   //压缩 a.c文件为test.tar.gz


解压文件

# tar -xzvf test.tar.gz 

gzip

gzip 命令用来压缩文件。gzip 是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多出“.gz”扩展名。

gzip 是在 Linux 系统中经常使用的一个对文件进行压缩和解压缩的命令,既方便又好用。gzip 不仅可以用来压缩大的、较少使用的文件以节省磁盘空间,还可以和 tar 命令一起构成 Linux 操作系统中比较流行的压缩文件格式。据统计,gzip 命令对文本文件有 60%~ 70%的压缩率。减少文件大小有两个明显的好处,一是可以减少存储空间,二是通过网络传输文件时,可以减少传输的时间。

gzip * # 将所有文件压缩成 .gz 文件
gzip -l * # 详细显示压缩文件的信息,并不解压
gzip -dv * # 解压上例中的所有压缩文件,并列出详细的信息
gzip -r log.tar     # 压缩一个 tar 备份文件,此时压缩文件的扩展名为.tar.gz
gzip -rv test/      # 递归的压缩目录
gzip -dr test/      # 递归地解压目录

 

zip

zip 命令用于压缩文件。zip 是个使用广泛的压缩程序,文件经它压缩后会另外产生具有“.zip”扩展名的压缩文件。

unzip

 unzip 命令用于解压缩由 zip 命令压缩的“.zip”压缩包。

实例

目录管理

cd

cd 命令用来切换工作目录。

cd          # 切换到用户主目录
cd ~        # 切换到用户主目录
cd -        # 切换到上一次工作目录
cd ./ 		# 就是指的当前目录
cd ..       # 切换到上级目录
cd ../ 		# 切换到上级目录(与上一个一样)
cd ../..    # 切换到上两级目录

ls

ls 命令用来显示目录信息

ls        # 列出当前目录可见文件
ls -l     # 列出当前目录可见文件详细信息

pwd

pwd 命令用来显示当前目录的绝对路径。

mkdir

mkdir 命令用来创建目录。

  • -p :帮助你直接将所需要的目录(包含上一级目录)递归创建起来!
[root@www tmp]# mkdir test    <==创建一名为 test 的新目录
[root@www tmp]# mkdir test1/test2/test3/test4
mkdir: cannot create directory `test1/test2/test3/test4': 
No such file or directory       <== 没办法直接创建此目录啊!
[root@www tmp]# mkdir -p test1/test2/test3/test4

rmdir

删除空的目录,语法:

 rmdir [-p] 目录名称
[root@www tmp]# ls -l   <==看看有多少目录存在?
drwxr-xr-x  3 root  root 4096 Jul 18 12:50 test
drwxr-xr-x  3 root  root 4096 Jul 18 12:53 test1
drwx--x--x  2 root  root 4096 Jul 18 12:54 test2
[root@www tmp]# rmdir test   <==可直接删除掉,没问题
[root@www tmp]# rmdir test1  <==因为尚有内容,所以无法删除!
rmdir: `test1': Directory not empty
[root@www tmp]# rmdir -p test1/test2/test3/test4
[root@www tmp]# ls -l        <==您看看,底下的输出中test与test1不见了!
drwx--x--x  2 root  root 4096 Jul 18 12:54 test2

tree

命令以树状显示目录的内。 

  • cp(英文全拼:copy file): 复制文件或目录
  • rm(英文全拼:remove): 删除文件或目录
  • mv(英文全拼:move file): 移动文件与目录,或修改文件与目录的名称

文件管理

touch

touch命令有两个功能:一是用来创建空文件,touch 文件名

 ln

ln 命令用来为文件创建链接。默认是硬链接

-s 创建软连接。
注意:符号链接文件不是一个独立的文件,它的许多属性依赖于源文件,所以给符号链接文件设置存取权限是没有意义的。

链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link,又叫做 符号链接)硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。

区别:1、硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

           2、删了源文件,软连接是不可以使用的,而硬连接是可以使用的

           3、软链接可以对目录进行链接,硬连接不允许给目录

硬链接

ln log2013.log ln2013

软连接: 

rename 

rename 命令用字符串替换的方式批量重命名。

 

 改的那一部分  改成什么  要改的文件

stat

stat 命令用于显示文件的状态信息。stat 命令的输出信息比 ls 命令的输出信息要更详细。

file

file 命令用来探测给定文件的类型

文件和目录管理共用命令

属性管理

Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)

 只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

参考:@浪子吴天

chmod

命令用来变更文件或目录的权限。

-R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)

用户符号

操作符说明

实例

将文件 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt

将文件 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt

将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入 :
chmod ug+w,o-w file1.txt file2.txt

为 ex1.py 文件拥有者增加可执行权限:
chmod u+x ex1.py

将目前目录下的所有文件与子目录皆设为任何人可读取 :
chmod -R a+r *

chmod a+rw file	给file的所有用户增加读写权限
chmod +rwx file	给file的所有用户增加读写执行权限

数字形式

chmod 664 file	对file的所有者和用户组设置读写权限, 为其其他用户设置读权限

  chown

 chown - 改变文件的属主(拥有者)或属组,该命令可以向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。原来为root root

## 配置属主和属组为test
[root@server dir]# chown test:test file3
[root@server dir]# ll
总用量 20
-rwxr-xr-x 1 test test    0 11月 28 15:12 file3

练习

管理操作

find

 例子

+1M 大于1M的文件     +1 大于1天        -1小于1天 

将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:

# find . -name "*.c"


将当前目录及其子目录下所有最近 20 天内更新过的文件列出:

# find . -ctime  20
# 在 /home 目录下查找以 .txt 结尾的文件名
find /home -name "*.txt"
# 同上,但忽略大小写
find /home -iname "*.txt"
# 当前目录搜索所有文件,文件内容 包含 “140.206.111.111” 的内容
find . -type f -name "*" | xargs grep "140.206.111.111"

locate 

 locate 命令和 slocate 命令都用来查找文件或目录。

locate 命令其实是 find -name 的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/locatedb,这个数据库中含有本地所有文件信息。

Linux 系统自动创建这个数据库,并且每天自动更新一次,所以使用 locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用 locate 之前,先使用 updatedb 命令,手动更新数据库。

updatedb

updatedb 命令用来创建或更新 slocate/locate 命令所必需的数据库文件

updatedb 命令的执行过程较长,因为在执行时它会遍历整个系统的目录树,并将所有的文件信息写入 slocate/locate 数据库文件中。
如果locate命令,不起作用,那就是没有更新数据库的原因。就限制性updatedb命令,之后再查找就可。

which

which       查找命令的绝对路径。

 whereis

用来定位指令的二进制程序、源代码文件和man手册页等相关文件的路径

[root@localhost ~]# whereis tomcat
tomcat:

[root@localhost ~]# whereis svn
svn: /usr/bin/svn /usr/local/svn /usr/share/man/man1/svn.1.gz

说明:tomcat没安装,找不出来,svn安装找出了很多相关文件

命令对比

总计:

which       查看可执行文件的位置。
whereis   查看文件的位置。 
locate       配合数据库查看文件位置。
find           实际搜寻硬盘查询文件名称。

和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通 过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate 查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。

 cp

cp 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录

# 将文件 file 复制到目录 /usr/men/tmp 下,并改名为 file1
cp file /usr/men/tmp/file1

# 将目录 /usr/men下的所有文件及其子目录复制到目录 /usr/zh 中
cp -r /usr/men /usr/zh

# 强行将 /usr/men下的所有文件复制到目录 /usr/zh 中,无论是否有文件重复
cp -rf /usr/men/* /usr/zh

# 将目录 /usr/men 中的以 m 打头的所有 .c 文件复制到目录 /usr/zh 中
cp -i /usr/men m*.c /usr/zh

mv

mv 命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

mv file1.txt /home/office/                      # 移动单个文件
mv file2.txt file3.txt file4.txt /home/office/  # 移动多个文件
mv *.txt /home/office/                          # 移动所有 txt 文件
mv dir1/ /home/office/                          # 移动目录
mv /usr/men/* .                                 # 将指定目录中的所有文件移到当前目录中

mv file1.txt file2.txt          # 重命名文件
mv dir1/ dir2/                  # 重命名目录
mv -v *.txt /home/office        # 打印移动信息
mv -i file1.txt /home/office    # 提示是否覆盖文件

mv -uv *.txt /home/office       # 源文件比目标文件新时才执行更新
mv -vn *.txt /home/office       # 不要覆盖任何已存在的文件
mv -f *.txt /home/office        # 无条件覆盖已经存在的文件
mv -bv *.txt /home/office       # 复制时创建备份

rm

rm 命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

  • -r 将目录及以下之档案亦逐一删除。 -r就有牵连目录以及目录以下的意思。
rm test.txt               # 删除文件
rm -i test.txt test2.txt  # 交互式删除文件
rm -r *                   # 删除当前目录下的所有文件和目录
rm -r testdir             # 删除目录下的所有文件和目录
rm -rf testdir            # 强制删除目录下的所有文件和目录
rm -v testdir             # 显示当前删除操作的详情

scp

scp 命令用于在 Linux 下进行远程拷贝文件的命令,和它类似的命令有 cp,不过 cp 只是在本机进行拷贝不能跨服务器,而且 scp 传输是加密的。可能会稍微影响一下速度。当你服务器硬盘变为只读 read only system 时,用 scp 可以帮你把文件移出来。另外,scp 还非常不占资源,不会提高多少系统负荷,在这一点上,rsync 就远远不及它了。虽然 rsync 比 scp 会快一点,但当小文件众多的情况下,rsync 会导致硬盘 I/O 非常高,而 scp 基本不影响系统正常使用。

# 拷贝文件到远程服务器的指定目录
scp <file> <user>@<ip>:<url>
scp test.txt root@192.168.0.1:/opt

# 拷贝目录到远程服务器的指定目录
scp -r <folder> <user>@<ip>:<url>
scp -r test root@192.168.0.1:/opt

通配符

 实例

文件内容查看

tail 命令

用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

常用参数

-f 循环读取(常用于查看递增的日志文件)
-n<行数> 显示行数(从后向前)

如查看日志

tail -f ping.log
tail file           # 显示文件file的最后10行
tail -n +20 file    # 显示文件file的内容,从第20行至文件末尾
tail -c 10 file     # 显示文件file的最后10个字符

head 命令

head 用来显示档案的开头至标准输出中,默认 head 命令打印其相应文件的开头 10 行。

常用参数:  -n<行数> 显示的行数(行数为复数表示从最后向前数)

 实例

(1)显示 1.log 文件中前 20 行

head 1.log -n 20
1
(2)显示 1.log 文件前 20 字节

head -c 20 log2014.log
1
(3)显示 t.log最后 10 行

head -n -10 t.log

cat命令

1)	cat > myfile  //创建文件并编辑内容(ctrl+D结束编辑)
2)	cat -n myfile  //查看文件

more 命令

功能类似于 cat, more 会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示。

 命令参数:

+n      从笫 n 行开始显示
-n       定义屏幕大小为n行
+/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示 
-c       从顶部清屏,然后显示
-d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l        忽略Ctrl+l(换页)字符
-p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s       把连续的多个空行显示为一行
-u       把文件内容中的下画线去掉

常用操作命令: 

Enter    向下 n 行,需要定义。默认为 1 行
Ctrl+F   向下滚动一屏
空格键  向下滚动一屏
Ctrl+B  返回上一屏
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令
q       退出more

实例

1)显示文件中从第3行起的内容

more +3 text.txt
1
(2)在所列出文件目录详细信息,借助管道使每次显示 5 行

ls -l | more -5
1
按空格显示下 5 行。

less命令

less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。

常用命令参数

-i  忽略搜索时的大小写
-N  显示每行的行号
-o  <文件名> 将less 输出的内容在指定文件中保存起来
-s  显示连续空行为一行
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
-x <数字> 将“tab”键显示为规定的数字空格
b  向后翻一页
d  向后翻半页
h  显示帮助界面
Q  退出less 命令
u  向前滚动半页
y  向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]:   向上翻动一页

实例

(1)ps 查看进程信息并通过 less 分页显示

ps -aux | less -N
1
(2)查看多个文件

less 1.log 2.log
1
可以使用 n 查看下一个,使用 p 查看前一个。

权限

chmod [u/g/o/a][+/-/=][r/w/x] myfile  //更改文件权限
u-user,g-group,o-others,a-all  .   + :添加,-:删除,=:重置   .
r-read读(4),w-write写(2),x-execute执行(1)


区别:less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。、

文件编辑命令

grep 命令

强大的文本搜索命令,grep(Global Regular Expression Print) 全局正则表达式搜索。

常用参数

-A n --after-context显示匹配字符后n行
-B n --before-context显示匹配字符前n行
-C n --context 显示匹配字符前后n行
-c --count 计算符合样式的列数
-i 忽略大小写
-l 只列出文件内容符合指定的样式的文件名称
-f 从文件中读取关键词
-n 显示匹配内容的所在文件中行数
-R 递归查找文件夹

grep 的规则表达式:

^  #锚定行的开始 如:'^grep'匹配所有以grep开头的行。 
$  #锚定行的结束 如:'grep$'匹配所有以grep结尾的行。 
.  #匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。  
*  #匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。
.*   #一起用代表任意字符。  
[]   #匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。 
[^]  #匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。  
\(..\)  #标记匹配字符,如'\(love\)',love被标记为1。   
\<      #锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。
\>      #锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。
x\{m\}  #重复字符x,m次,如:'0\{5\}'匹配包含5个o的行。 
x\{m,\}  #重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。  
x\{m,n\}  #重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5--10个o的行。  
\w    #匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。  
\W    #\w的反置形式,匹配一个或多个非单词字符,如点号句号等。  
\b    #单词锁定符,如: '\bgrep\b'只匹配grep。

实例

(1)查找指定进程

ps -ef | grep svn

(2)查找指定进程个数

ps -ef | grep svn -c

(3)从文件中读取关键词

cat test1.txt | grep -f key.log

(4)从文件夹中递归查找以grep开头的行,并只列出文件

grep -lR '^grep' /tmp

(5)查找非x开头的行内容

grep '^[^x]' test.txt

(6)显示包含 ed 或者 at 字符的内容行

grep -E 'ed|at' test.txt

wc 命令

wc(word count)功能为统计指定的文件中字节数、字数、行数,并将统计结果输出

命令格式:

wc [option] file..

命令参数

-c 统计字节数
-l 统计行数
-m 统计字符数
-w 统计词数,一个字被定义为由空白、跳格或换行字符分隔的字符串

实例

(1)查找文件的 行数 单词数 字节数 文件名

wc text.txt

结果:

7     8     70     test.txt

(2)统计输出结果的行数

cat test.txt | wc -l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值