赞
踩
ls是最常见的目录操作命令,主要作用是显示目录下的内容。
cd是切换所在目录的命令
特殊符号 | 作用 |
---|---|
~ | 代表用户的家目录 |
- | 代表上次所在的目录 |
. | 代表当前目录 |
… | 代表上级目录 |
绝对路径:以跟目录为参照物,从根目录开始,一级一级进入目录
相对路径:以当前目录作为参照物,进行目录查找
pwd命令是查询所在目录的命令
mkdir是创建目录的命令,其基本信息如下。
命令格式:
删除目录的命令rmdir
命令格式
rmdir命令的作用十分有限,因为只能删除空目录,所以一旦目录中有内容,就会报错。所以不论删除的是文件还是目录,都会使用rm命令.
创建空文件或修改文件时间
stat是查看文件详细信息的命令,而且可以看到文件的这三个时间
cat命令用来查看文件内容
命令格式
more是分屏显示文件的命令
more命令比较简单, 一般不用什么选项, 命令会打开一个交互界面, 可以识别一些交互命令, 常用的交互命令如下
- 空格键:向下翻页。
- b:向上翻页。
- 回车键:向下滚动一行。
- /字符串:搜索指定的字符串。
- q:退出。
less命令和more命令类似, 只是more是分屏显示命令, 而less是分行显示命令
head是用来显示文件开头的命令
命令格式
既然有显示文件开头的命令, 就会有显示文件结尾的命令: tail命令
命令格式
In命令用来在文件之间建立链接。
如果创建硬链接:
如果创建软链接:
硬链接特征:
软链接特征:
软链接特征明显,建议使用软连接
rm是强大的删除命令,不仅可以剩除文件,也可以除目录
命令格式
-r:递归删除, 可以删除目录(recursive)
cp是用于复制的命令
命令格式
mv是用来移动文件或改名的命令。
命令格式
修改权限的命令 chmod
命令格式
chown是修改文件和目录的所有者和所属组的命令
1)命令格式
普通用户不能修改文件的所有者,哪怕自己是这个文件的所有者也不行。
普通用户可以修改所有者是自己的文件的权限,
chgrp是修改文件和目录的所属组的命令
新建文件和目录的默认最大权限:
按照官方的标准算法, umask默认权限需要使用二进制进行逻辑与和逻辑非联合运算才可以得到 正确的新建文件和目录的默认权限。这种方法既不好计算,也不好理解
所以在这里还是按照权限字母来学习umask权限的计算方法。按照默认的umask值是022来分别计算一下新建文件和目录的默认权限。
“-rw-rw-rw-”减去“-----w–w-”等于“-rw-r–r—”
目录的默认权限最大可以是777, 而umask的值是022
“drwxrwxrwx”减去“d----w--w-”等于“drwx-r-xr-x”
注意:umask默认权限的计算绝不是数字直接相减。
例如umask是033呢?
“-rw-rw-rw-”减去“-----wx-wx”等于“-rw-r-- r—”
man是最常见的帮助命令, 也是Linux最主要的帮助命令
命令格式
man命令的快捷键
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻动一页 |
PgDn | 向下动一页 |
g | 移动到第一页 |
G | 移动到最后一页 |
q | 退出 |
/字符串 | 从当前页向下搜索字符串 |
?字符串 | 从当前页向上搜索字符串 |
n | 当搜索字符串时,可以使用n找到下一个字符串 |
N | 当搜索字符串时,使用N键反向查询字符串。也就是说,如果使用“/字符串”方式搜索,则N键表示向上搜索字符串;如果使用“?字符串”方式搜索,则N键表示 向下搜索字符串 |
man命令的帮助级别
级别 | 作用 |
---|---|
1 | 普通用户可以执行的系统命令和可执行文件的帮助 |
2 | 内核可以调用的函数和工具的帮助 |
3 | C语言函数的帮助 |
4 | 设备和特殊文件的帮助 |
5 | 配置文件的帮助 |
6 | 游戏的帮助(个人版是有游戏的) |
7 | 杂项的帮助 |
8 | 超级用户可以执行的系统命令的帮助 |
9 | 内核的帮助 |
man -f 命令或 whatis 命令
#查看命令拥有哪个级别的帮助
man -k 命令或 apropos命令
#查看和命令相关的所有帮助
info命令的帮助信息是一套完整的资料, 每个单独命令的帮助信息只是这套完整资料中的某一个小章节。
快捷键 | 作用 |
---|---|
上箭头 | 向上移动一行 |
下箭头 | 向下移动一行 |
PgUp | 向上翻动一行 |
PgDn | 向下翻动一行 |
Tab | 在有“*”符 号的节点间进行切换 |
回车 | 进入有“*”符号的子页面,查看详细帮助信息 |
u | 进入上一层信息(回车是进入下一层信息) |
n | 进入下一小节信息 |
p | 进入上一小节信息 |
? | 查看帮助信息 |
q | 退出info信息 |
显示Shell内置命令的帮助, 可以使用type命令来区分内置命令与外部命令
shell是Linux的命令解释器。
绝大多数命令都可以使用“–help”选项来查看帮助, 这也是一种获取帮助的方法。例如:
[root@localhost ~]# ls --help
这种方法非常简单, 输出的帮助信息基本上是man命令的信息简要版.
whereis 是搜索系统命令的命令,也就是说, where is命令不能搜索普通文件,而只能搜索系统命令。
which也是搜索系统命令的命令, 和where is命令的区别在于:
locate命令才是可以按照文件名搜索普通文件的命令。
locate配置文件
在目录中搜索文件.
这里的“+”的意思是搜索比指定大小还要大的文件,“-”的意思是搜索比指定大小还要小的文件。
find命令的单位:
Linux中的文件有访问时间(atime) 、数据修改时间(mtime) 、状态修改时间(etime) 这三个 时间,我们也可以按照时间来搜索文件。
这里用mtime数据修改时间来举例, 重点说说“[±]”时间的含义。
-5:代表5天内修改的文件.
5:代表前5~6天那一天修改的文件.
+5:代表6天前修改的文件.
画一个时间轴来解释一下
命令格式
按照所有者和所属组搜索时, “-nouser”选项比较常用, 主要用于查找垃圾文件。
只有一种情况例外, 那就是外来文件。比如光盘和U盘中的文件,如果是由Windows复制的, 在 Linux中查看就是没有所有者的文件。再比如手工源码包安装的文件, 也有可能没有所有者。
find命令也支持逻辑运算符选项, 其中-a代表逻辑与运算, 也就是-a的两个条件都成立, find搜 索的结果才成立。举个例子:
2)-o:or逻辑或
-o选项代表逻辑或运算,也就是-o的两个条件只要其中一个成立, find命令就可以找到结果,例如:
3)-not:not逻辑非
-not是逻辑非, 也就是取反的意思, 举个例子:
“-exec”和“-ok”, 这两个选项的基本作用非常相似。
“-exec”选项的格式:
其次, 这个选项的作用其实是把find命令的结果交给由“-exec”调用的命令2来处理.“#”就代表find命令的查找结果
2)-ok选项
“-ok”选项和“-exec”选项的作用基本一致, 区别在于:“-exec”的命令2会直接处理, 而不询 问:“-ok”的命令2在处理前会先询问用户是否这样处理,在得到确认命令后,才会执行
grep的作用是在文件中提取和匹配符合条件的字符串行。命令格式如下:
[root@localhost ~]# grep [选项] "搜索内容" 文件名
选项:
-i : 忽略大小写
-n: 输出行号
-v: 反向查找
--color=auto: 搜索出的关键字用颜色显示
find命令和grep命令的区别:
find命令用于在系统中搜索符合条件的文件名, 如果需要模糊查询, 则使用通配符进行匹配,通配符是完全匹配(find命令可以通过-regex选项, 把匹配规则转为正则表达式规则, 但是不建议如此)
grep命令用于在文件中搜索符合条件的字符申, 如果需要模糊查询, 则使用正则表达式进行匹配, 正则表达式是包含匹配。
通配符:用于匹配文件名,完全匹配
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或任意多个字符,也就是匹配任何内容 |
[] | 匹配中括号中任意一个字符,例如:[abc]代表一定匹配一个字符,a或b或c |
[-] | 匹配中括号中任意一个字符,-代表一个范围,例如:[a-z]代表匹配一个小写字母 |
[^] | 逻辑非,表示不是中括号内的一个字符,例如:[^0-9]代表匹配一个不是数字的字符 |
正则表达式:用于匹配字符串,包含匹配
正则符 | 作用 |
---|---|
? | 匹配前一个字符重复0次,或1次(?是扩展正则,需要使用egrep命令) |
* | 匹配前一个字符重复0次,或任意多次 |
[] | 匹配中括号中任意一个字符,例如:[abc]代表一定匹配一个字符,或者是a,或者是b,或者是c |
[-] | 匹配中括号中任意一个字符,-代表一个范围。例如,[a-z]代表匹配一个小写字母 |
[^] | 逻辑非,表示匹配不是中括号内的一个字符。例如,[^0-9]代表匹配一个不是数字的字符 |
^ | 匹配行首 |
$ | 匹配行尾 |
命令格式: 命令1 | 命令2
命令1的正确输出作为命令2的操作对象
1)例子1:
举个例子, 使用 “ll” 命令查看文件的长格式, 但是有些目录中文件众多, 比如/etc/目录,使用“I”命令显示的内容就会非常多,只能看到最后的内容,而不能看到前面输出的内容。这时使用more命令可以分屏显示文件内容
可是这样操作实在不方便,这时就可以利用管道符。命令如下:
2)例子2:
我想在命令ll /etc/的结果中搜索yum的文件名, 应该使用find命令?还是grep命令?
[root@localhost ~]# ll -a /etc/ | grep yum
3)例子3:
netstat命令(CentOS 7中, 需要安装ne-snmp.x 86_64, net-tools.x 86_64两个包才有此命令, 7.5 系统中已经自动安装)格式如下:
统计正在连接的网络连接数量
命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的。
用命令定义的别名, 是临时生效的, 要想永久生效, 需要写入环境变量配置文件~/.bashrc
快捷键 | 作用 |
---|---|
Tab键 | 命令或文件名补全 |
ctrl+A | 把光标移动到命令行开头。如果输入的命令过长,想要把光标移动到开头时使用 |
ctrl+E | 把光标移动到命令行结尾 |
ctrl+C | 强制终止当前的命令 |
ctrl+L | 清屏,相当于clear命令 |
ctrl+U | 删除或剪切光标之前的命令。 |
ctrl+Y | 粘贴ctrl+U剪切的内容 |
在Linux中可以识别的常见压缩格式有十几种, 比如".zip"".gz"".bz2"".tar"".tar.gz"".tar.bz2"等。
“.zip”是Windows中最常用的压缩格式, Linux也可以正确识别“.zip”格式, 这可以方便地和 Windows系统通用压缩文件。
压缩命令就是zip
命令格式如下:
“zip”格式的解压缩命令是unzip
命令格式如下:
“gz”格式是Linux中最常用的压缩格式, 使用gzip命令进行压缩
这个命令的格式如下:
如果要解压缩“gz”格式, 那么使用“gzip -d 压缩包”和“gunzip 压缩包”命令都可以。
两个命令都可以解压缩“.g2”格式
“.bz2”格式是Linux的另一种压缩格式, 从理论上来讲, “.bz2”格式的算法更先进、压缩比更 好:而“.gz”格式相对来讲压缩的时间更快.
“.bz2”格式的压缩命令是bzip2, 命令的基本信息,
bzip 2命令的格式
“bz2”格式可以使用“bzip2 -d 压缩包”命令来进行解压缩, 也可以使用“bunzip2 压缩包"命令来进行解压缩。
“.tar”格式的打包和解打包都使用tar命令, 区别只是选项不同
命令的基本格式如下:
“.tar”格式的解打包也需要使用tar命令, 但是选项不太一样。命令格式如下:
使用tar命令直接打包压缩。命令格式如下:
刷新文件系统缓冲区.
关机和重启
命令的基本格式如下:
在现在的系统中, reboot命令重启也是安全的, 而且不需要加入过多的选项。
这两个都是关机命令,直接执行即可,这两个命令不会完整关闭和保存系统的服务,不建议使用。
init是修改Linux运行级别的命令, 也可以用于关机和重启。这个命令并不安全, 不建议使用,
格式:
[root@localhost ~]# init 0
#关机,也就是调用系统的0级别
setup工具
vi /etc/sysconfig/network-scripts/ifcfg-eth0
手工修改配置文件
[root@localhost ~]# service network restart
#重启网络服务
复制的UUID可能会和原先的UUID冲突,Linux认为这个是不可能的,所以我们需要手工重置UUID,正常使用网络.
ifconfig命令最主要的作用就是查看IP地址的信息,直接输入ifconfig命令即可.
ping是常用的网络命令, 主要通过ICMP协议进行网络探测, 测试网络中主机的通信情况
命令的基本格式如下:
在ping命令中, 可以使用“-b”选项, 后面加入广播地址, 探测整个网段, 我们可以使用这个选项知道整个网络中有多少主机是可以和我们通信的,而不用一个一个IP地址地进行探测.例如:
#探测192.168.103.0/24网段中有多少可以通信的主机
netstat是网络状态查看命令, 既可以查看到本机开启的端口, 也可以查看有哪些客户端连接。 在CentOS7x中netstat命令默认没有安装, 如果需要使用, 需要安装net-snmp和inet-tools软件包。
命令格式如下:
向其他用户发送信息。
用于给所有登录用户发送信息, 包括自己, 执行时, 在wall命令后加入需要发送的信息即可, 例如:
mail是Linux的邮件客户端命令, 可以利用这个命令给其他用户发送邮件。也可以用于接收邮件
例子1:发送邮件
如果我们想要给其他用户发送邮件,则可以执行如下命令:
例子2:发送文件内容
如果我们想把某个文件的内容发送给指定用户,则可以执行如下命令:
在写脚本时,有时需要脚本自动发送一些信息给指定用户,把要发送的信息预先写到文件中, 是一个非常不错的选择,
例子3:查看已经接收的邮件
我们可以直接在命令行中执行mail命令, 进入mail的交互命令中, 可以在这里查看己经接收到的邮件。例如:
可以看到已经接收到的邮件列表,“N”代表未读邮件,如果是已经阅读过的邮件,则前面是不会有这个“N”的:之后的数字是邮件的编号,我们主要通过这个编号来进行邮件的操作,如果我们想要查看第一封邮件,则只需输入邮件的编号“1”就可以了。
常用的交互命令快捷键
headers:列出邮件标题列表, 直接输入“h”命令即可。
delete:删除指定邮件。比如想要删除第二封邮件, 可以输入“d 2”。
save; 保存邮件。可以把指定邮件保存成文件, 如“s 2/tmp/test mail”。
quit:退出, 并把已经操作过的邮件进行保存, 比如移除己删除邮件、保存已阅读邮件等
exit:退出, 但是不保存任何操作。
w命令是显示系统中正在登陆的用户信息的命令, 这个命令查看的痕迹日志是/var/run/utmp
例如:
第一行信息,内容如下:
内容 | 说明 |
---|---|
12:26:46 | 系统当前时间 |
up 1 day,13:32 | 系统的运行时间,本机已经运行了1天13小时23分钟 |
2 user | 当前登陆了两个用户 |
load average: 0.00,0.00,0.00 | 系统在之前1分钟、5分钟、15分钟的平均负载。如果CPU是单核的,则这个数值超过1就是高负载;如果CPU是四核 的,则这个数值超过4就是高负载(这个平均负载完全是依据个人经验来进行判断的,一般认为不应该超过服务器CPU的核数) |
第二行信息,内容如下:
内容 | 说明 |
---|---|
USER | 当前登陆的用户 |
TTY | 登陆的终端:tty1-6:本地字符终端(alt+F1-6切换)tty7:本地图形终端(ctrl+alt+F7切换,必须安装启动图形界面)pts/0-255:远程终端 |
FROM | 登陆的IP地址,如果是本地终端,则是空 |
LOGIN@ | 登陆时间 |
IDLE | 用户闲置时间 |
JCPU | 所有的进程占用的CPU时间 |
PCPU | 当前进程占用的CPU时间 |
WHAT | 用户正在进行的操作 |
who命令和w命令类似, 用于查看正在登陆的用户, 但是显示的内容更加简单, 也是查看/var/run/utmp日志。
last命令是查看系统所有登陆过的用户信息的, 包括正在登陆的用户和之前登陆的用户, 这个命令查看的是/var/log/wtmp痕迹日志文件,
last log命令是查看系统中所有用户最后一次的登陆时间的命令, 他查看的日志是/var/log/last log文件。
lastb命令是查看错误登陆的信息的, 查看的是/var/log/btmp痕迹日志:
linux所有存储设备都必须挂载使用, 包括硬盘
命令具体格式如下:
参数 | 说明 |
---|---|
atime/moatime | 更新访问时间/不更新访问时间。访问分区文件时,是否更新文件的访问时间,默认为更新 |
async/sync | 异步/同步,默认为异步 |
auto/noauto | 自动/手动,mount -a命令执行时,是否会自动安装/etc/fstab文件内容挂载,默认为自动 |
defaults | 定义默认值,相当于rw,suid,dev,exec,auto,nouser,async这七个选项 |
exec/noexec | 执行/不执行,设定是否允许在文件系统中执行可执行文件,默认是exec允许 |
remount | 重新挂载已经挂载的文件系统,一般用于指定修改特殊权限 |
rw/ro | 读写/只读,文件系统挂载时,是否具有读写权限,默认是rw |
suid/nosuid | 具有/不具有SUID权限,设定文件系统是否有SUID和SGID权限,默认是具有 |
user/nouser | 允许/不允许普通用户挂载,设定文件系统是否允许普通用户挂载,默认是不允许,只有root可以挂载分区 |
usrquota | 写入代表文件系统支持用户磁盘配额,默认不支持 |
grpquota | 写入代表文件系统支持组磁盘配额,默认不支持 |
光盘挂载的前提依然是指定光盘的设备文件名, 不同版本的Linux, 设备文件名并不相同:
CentOS 5.x以前的系统, 光盘设备文件名是/dev/hde
CentOS 6.x以后的系统, 光盘设备文件名是/dev/sr 0
不论哪个系统都有软连接/dev/cdrom, 与可以作为光盘的设备文件名
用完之后卸载:
注意:卸载的时候需要退出光盘目录,才能正常卸载
U盘会和硬盘共用设备文件名,所以U盘的设备文件名不是固定的,需要手工查询,查询命令:
[root@localhost ~]# fdisk -l
#查询硬盘
然后就是挂载了,挂载命令如下:
[root@localhost ~]# mount -t vfat /dev/sdb1 /mnt/usb/
#挂载U盘.因为是Windows分区,所以是vfat文件系统格式
如果U盘中有中文, 会发现中文是乱码.Linux要想正常显示中文, 需要两个条件:
安装了中文编码和中文字体
操作终端需要支持中文显示(纯字符终端,是不支持中文编码的)
而我们当前系统是安装了中文编码和字体, 而Xshell远程终端是Windows下的程序, 当然是支持中文显示的。那之所以挂载U盘还出现乱码,是需要在挂载的时候,手工指定中文编码,例如:
[root@localhost ~]# mount -t vfat -o iocharset=utf8 /dev/sdb1 /mnt/usb/
#挂载U盘.指定中文编码格式为UTF-8
如果需要卸载,可以执行以下命令:
[root@localhost ~]# umount /mnt/usb/
驱动直接放入系统内核之中,这种驱动主要是系统启动加载必须的驱动,数量较少.
驱动以模块的形式放入硬盘,大多数驱动都以这种方式保存,保存位置在/lib/modules/3.10.0-862.el7.x86_64/kernel/中.
驱动可以被Linux识别, 但是系统认为这种驱动一般不常用, 默认不加载。如果需要加载这种驱动,需要重新编译内核,而NTFS文件系统的驱动就属于这种情况.
硬件不能被Linux内核识别, 需要手工安装驱动。当然前提是厂商提供了该硬件针对Linux的驱动,否则就需要自己开发驱动了 。
下载NTFS-3G插件
从网站http://www.tuxera.com/community/ntfs-3g-download/下载NTFS-3G插件到Linux服务器上
安装NTFS-3G插件
在编译安装NTFS-3G插件之前, 要保证gcc编译器己经安装。具体安装命令如下:
安装就完成了, 已经可以挂载和使用Windows的NTFS分区了。不过需要注意挂载分区时的文件系统不是ntfs, 而是ntfs-3g。挂载命令如下:
[root@localhost ~]# mount -t ntfs-3g 分区设备文件名 挂载点
例如:
[root@localhost ~]# mount -t ntfs-3g /dev/sdb1 /mnt/win
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。