Linux命令行的格式:命令字:是整条命令中最关键的一部分唯一确定一条
选项 :短格式选项:使用“”符号引导长格式选项:使用“_”符号引导
参数: 命令字的处理对象可以是文件名、目录(路)名或用户名等内容个数可以是零到多个
touch命令:创建文件夹
/ 根目录
/bin 存放必要的命令
/boot 存放内核以及启动所需的文件
/dev 存放设备文件
/etc 存放系统配置文件
/home 普通用户的宿主目录,用户数据存放在其主目录中
/lib 存放必要的运行库
/mnt 存放临时的映射文件系统,通常用来挂载使用。
/proc 存放存储进程和系统信息
/root 超级用户的主目录
/sbin 存放系统管理程序
/tmp 存放临时文件
/usr 存放应用程序,命令程序文件、程序库、手册和其它文档。
/var 系统默认日志存放目录
对linux系统的目录结构有一个大致的认识之后,接下来我们从Linux操作系统必备命令、文件管理、系统管理、用户管理四个方面对linux文件系统进行进一步认识和学习。
1.1 Linux操作系统必备命令
1.1.1 别名
alias 显示当前设置的所有别名;
alias name只显示某个别名代表的含义;
unalias取消命令别名
1.1.2 Shell的特殊字符
(1) 通配符
*:通配0个或多个字符
?:通配任意单个字符
[s]:通配某个范围内的任意一个字符
(2) ;一行执行多条命令
(3) 输入输出重定向
>表示追加并覆盖的意思
>>表示追加
<表示输入
(4) 管道符
| 表示前一个命令的输出作为后一个命令的输入
1.1.3 联机帮助
man命令 可以查看linux中的命令帮助、配置文件帮助、编程帮助等信息
1.1.4 清屏与历史记录命令
clear 清屏
history 查看历史命令
history !n 执行使用的第n条命令
1.2 文件管理
1.2.1 查看目录文件
pwd 显示工作路径
cd 切换工作目录
ls 查看目录中的文件
file 显示文件类型
1.2.2 创建和删除目录文件
touch 创建文件
mkdir 创建目录
rm [-i/f] filename 删除名叫filename的文件
rmdir dir 删除名叫dir的目录
1.2.3 链接文件
链接文件主要是为了解决数据共享问题,常用命令如下:
ln [-s/-p] source-file target-file 创建一个指向文件或目录的软链接或硬链接
其中:-s 软连接
-p 硬链接
1.2.4 显示文本内容
cat file1 从第一个字节开始正向查看文件的内容
more file1 查看一个长文件的内容
head [-n] filename 查看文件名为filename的前n行
tail [-n] filename 查看文件名为filename的后n行
1.2.5 拷贝和移动文件目录
cp [- i] source-file target-file 拷贝文件
cp [-r] source-file target-file 拷贝目录
mv [-i] source-file target-file 移动文件
1.2.6 文件目录权限
文件的权限 使用 "+" 设置权限,使用 "-" 用于取消
权限代表:r (读),w(写),x(执行)
属性代表:用户(u)、群组(g),a(所有人)以及其他人(o)
1.2.7 修改目录权限
chmod ugo+rwx dir1 设置目录的所有用户(u)、群组(g)以及其他人(o)以读(r )、写(w)和执行(x)的权限
chmod go-rwx ectory1 删除群组(g)与其他人(o)对目录的读写执行权限
chown user1file1 改变一个文件的D所有人属性
chownuser1:group1 file1 改变一个文件的所有人和群组属性
chown -R user1 directory1 改变一个目录的所有人属性并同时改变改目录下所有文件的属性
chgrp group1 file1 改变文件的群组
1.2.8 查找文件
find / -namefile1 从 '/' 开始进入根文件系统搜索文件和目录
find / -user user1 搜索属于用户 'user1' 的文件和目录
find /home/user1 -name \*.bin 在目录 '/ home/user1' 中搜索带有'.bin' 结尾的文件
find /usr/bin -type f -atime +100 搜索在过去100天内未被使用过的执行文件
find /usr/bin -type f -mtime -10 搜索在10天内被创建或者修改过的文件
find / -name \*.rpm -exec chmod 755 '{}' \; 搜索以 '.rpm' 结尾的文件并定义其权限
find / -xdev -name \*.rpm 搜索以 '.rpm' 结尾的文件,忽略光驱、捷盘等可移动设备
1.2.9 过滤与统计
grep [option(s)] string filename 过滤文件名为filename中的字符串
wc [option(s)] filename 统计
1.3 系统管理
1.3.1 时间和进程查看
date 显示系统日期
cal 2007 显示2007年的日历表
ps 查看进程
1.3.2 切换用户
su是切换到其他用户,但是不切换环境变量
su - 是完整的切换到一个用户环境
sudo 使用超级用户来执行命令,一般指root用户。若多个普通用户同时切换到root用户对系统进行操作,可能会出现不同人对同一个文件进行不同操作,那很不安全。最好是有针对性的放开权限,明确哪些工作是由哪个用户进行操作,并且约定其使用哪个命令来完成与其相关的工作,此时sudo命令可以解决该问题。
1.4 用户管理
1.3.1 修改用户密码
passwd 修改用户密码
要求:
(1)6-8个字符
(2)至少包含2个字母,1个字符或特殊符号
(3)不同于用户ID
(4)不同于以前用户密码,至少有3位
1.3.2 查找用户
who 查看当前在线上的用户情况
who am i 显示出自己在系统中的用户名,登录终端,登录时间
1.3.3 查看磁盘信息
du 显示磁盘使用摘要信息
df 显示整个文件系统的空间使用磁盘情况
1.3.4 查看网络链接
ping 查看当前机器与另一台机器的链接情况
ifconfig 显示一个以太网卡的配置
查找命令文件存放目录-which
which 命令|程序名 //默认当找到第一个目标后不再继续查找
which -a 命令|程序名 /在所有搜索路径中查找
示例
which Is
which history:q 退出不保存
:q! 强制退出不保存
:w 保存
:w 新文件名 另存为新文件:
:wq :zz :x 保存并退出
颜色表示的文件类型:
- 黑色数据文件 普通文件
- 绿色 可执行文件
- 黄色 块设备文件硬件设备(硬盘)
- 红色 压缩包
- 蓝色 文件夹
- 天蓝色 链接文件(快捷方式)
cat的常用选项
-n:对所有输出的行数编号
-b:对于空白行不编号
-s:将所有的连续的多个空行替换为一个空行
只能读,不能写,也就是只能查看,不能修改
more [选项] 文件名
基本操作
空格下一行 到文末后自动退出
b上一行
enter一行一行滚动
自动退出
q退出
ls /etc/*.conf | more
less [选项] 文件名
可以使用/ 查找 n向下 N向上查找
Page Up 向上翻页,Page Down 向下翻页
其余参考more
less /etc/dhcp/dhcpd.conf
ls -lh /etc/*.conf | less
tail -100f /var/log/messages
head
head -n 具体数字 文件名(不加具体的数字,默认开头十行)
tail命令
用途:查看文件结尾的少部分内容
tail -n 具体数字 文件名(不加具体的数字,默认结尾十行)
tail -f 具体数字 文件名 实时跟踪最后十行
tail -f /var/log/messages ---查看最近的10条,默认
tail -100f /var/log/messages ----查看最近的100条
tr
基本功能转换
格式
tr [选项]... SET1 [SET2]
<font color='red'>SET 是一组字符串,一般都可按照字面含义理解</font>
-d 删除
-s 压缩
-c 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
tr 123 abc #只要出现123 就转换成abc
tr -d abc #删除abc
tr -s " " #压缩空格
1 2 3 4
1 2 3 4
tr -s "a"
aaaa
a
wc:
统计文件中的单词数量(Word Count)等信息
-l:统计行数
-w:统计单词个数
-c:统计字节数
grep的常用选项
-i:查找时不区分大小写 加不加都一样
-v:显示不包含匹配文本的所有行(反向查询,反向匹配)
-n:显示匹配行及行号
-c:只输出匹配到的总行数(不是匹配到的次数)
-e:实现可多个查找条件的匹配,逻辑or关系
-E:支持使用扩展正则表达式,相当于使用egrep命令
查找条件设置
要查找的字符串以双引号括起来
“^……”表示以……开头
“……$”表示以……结尾
“^$”表示空行
grep -ie "^listen" -e "80$" /etc/httpd/conf/httpd.conf
man cat | grep -v "^$"
作业:以a开头,同时匹配含有m,k,h的所有行
grep -ie "^a" -e "[m$,k$,h$]" /opt/ky27
Shell 还有一种功能,就是可以将两个或者多个命令(程序或者进程)
连接到一起,
把一个命令的输出作为下一个命令的输入,
以这种方式连接的两个或者多个命令就形成了管道(pipe)。
"|"
cat /etc/passwd | grep root
一般情况下,处理文本的命令,例如sort、uniq、grep、awk、sed等命令均支持管道;
gzip、bzip2命令:
gzip [-9] 文件名 #gzip制作的压缩文件默认的扩展名为“.gz”,原始文件不再保留
bzip2 [-9] 文件名 #bzip2 制作的压缩文件默认的扩展名为“.bz2”,原始文件不再保留
使用“-9”选项可以提高压缩的比率
-d:用于解压缩以及压缩过的文件,相当于使用gunzip、bunzip2命令
gunzip 文件名.gz 解压缩
gzip -d 文件名.gz 解压缩
bunzip2 文件名.bz2
bzip2 -d 文件名.bz2
bz2和.gz都是linux下压缩文件的格式,有点类似windows下的.zip和.rar文件。
.bz2和.gz的区别在于:前者比后者压缩率更高,后者比前者花费更少的时间。也就是说同一个文件,压缩后,.bz2文件比.gz文件更小,但是.bz2文件的小是以花费更多的时间为代价的。
tar的常用选项:
-c:创建.tar 格式的包文件。
-x:解开.tar 格式的包文件。
-C:解压时指定释放的目标文件夹。绝对路劲
-f:表示使用归档文件。
-v:输出详细信息(Verbose)。
-j:调用 bzip2 程序进行压缩或解压。
-z:调用 gzip 程序进行压缩或解压。
tar -zcvf dntest.tar.gz 123.txt 打包
tar -zxvf dntest.tar.gz -C /opt/dntest 打包到指定位置
tar -jcvf usershow.tar.bz2 passwd shadow 解压缩,解包
tar jxvf usershow.tar.bz2 -C /opt/ 解压缩到指定位置
vi 文件名
vim 文件名
!vim //返回上一次编辑的文件
命令模式切换至输入模式:
a:在当前光标位置之后插入内容
i:在当前光标位置之前插入内容
o:在光标所在行之下插入一个新行内容
O:在光标所在行之上插入一个新行内容
A:在所在行的行尾插入内容
I:在所在行的行首插入内容
命令模式:
操作类型 操作键 功能
翻页移动 Page Down键或 Ctrl+F 向下翻动一整页内容
Page Up键或 Ctrl+B 向上翻动一整页内容
行内快速跳转 Home键或^键、数字 0键 跳转到本行的行首
End 键或$键 跳转到本行的行尾
行间快速跳转 1G 或 gg 转到文件内容的第 1 行
G 跳转到文件的最后一行
#G 跳转到文件中的第#行(其中“#”号用具体数字替换)
M 跳转至当前页的中间位置
底行模式:
显示行号 :set nu 在编辑器中显示行号
:set nonu 取消行号显示
删除 x或Delete键 删除光标处的单个字符
dd 删除当前光标所在行(有剪切功能)
#dd 删除从光标处开始的#行内容 -----#表示几行
d^ 删除当前光标之前到行首的所有字符
d$ 删除当前光标处到行尾的所有字符
dw 删除光标处的整个单词
替换字符 R 或 Shift+r 替换当前光标处字符
复制 yy 复制当前行整行的内容到剪贴板
#yy 复制从光标处开始的#行内容 ----#表示几行
粘贴 p 粘贴到光标所在行之下
P 粘贴到光标所在行之上
查找 /word 从当前光标处开始向后进行查找字符串“word”
?word 从当前光标处开始向前进行查找
n 定位下一个匹配的被查找字符串
N 定位上一个匹配的被查找字符串
撤销 u 按一次取消最近的一次操作;重复u键,恢复多步操作
U 用于取消对当前行所做的所有编辑
保存退出 :w 保存修改的内容
:w 新文件名 另存为其它文件
:q
:q! 放弃对文件内容的修改并退出
ZZ或:wq、:x 保存当前的文件内容并退出vi编辑器
打开新文件 :e 其它文件名 打开新的文件进行编辑
读入文件内容 :r 其它文件名 在当前文件中读入其他文件内容
文件内容替换 :s /old/new 将当前行中查找到的第一个字符串“old” 串替换为“new”
:s /old/new/g 将当前行中查找到的所有字符串“old” 替换为“new”
:#,# s/old/new/g 在行号“#,#”范围内替换所有的字符串“old”为“new”
:% s/old/new/g 在整个文件范围内替换所有的字符串“old”为“new”
:s /old/new/c 在替换命令末尾加入c命令,将对每个替换动作提示用户进行确认
:1,5 m 10 将1-5行的内容剪切粘贴到第10行下面
:1,5 co 10 将1-5行的内容复制粘贴到第10行下面