1.Linux基本操作
一. Linux基础
1.1 基本命令
[root@localhost ~]# ip a #查看ip地址
[root@localhost ~]# su - 用户名 #切换用户
[root@localhost ~]# exit #退出用户
[root@localhost ~]# clear #清屏
[root@localhost ~]# touch 文件名 #创建文件
[root@localhost ~]# rm -rf 文件名 #删除文件
[root@localhost ~]# init 0 或 poweroff #关机
[root@localhost ~]# reboot 或 init 6 #重启
[root@localhost ~]# history #查看历史命令
1.2 查看
[root@localhost ~]# ls #查看当前目录下的文件
[root@localhost ~]# ls -a #显示所有文件 (包括隐藏文件)
* 通配符,表示所有字符(隐藏文件除外)
[root@localhost ~]# ls *.txt #以任意开头以.txt结尾的所有文件
[root@localhost ~]# ll -t #按最新的修改时间排序
[root@localhost ~]# ll -d #查看当前目录
隐藏文件:文件名称前面加 .
[root@localhost ~]# pwd #显示当前工作路径
[root@localhost ~]# history #查看历史命令
关于时间
[root@localhost ~]# date #查看服务器时间
[root@localhost ~]# date +%F #只显示当前年月日
[root@localhost ~]# date +%X #只显示当前时间到秒
1.3 命令别名
[root@localhost ~]# type -a ll #查看别名
[root@localhost ~]# alias chakan='ls' #设置别名
[root@localhost ~]# unalias -a chakan #取消别名
1.4 防火墙selinux
[root@localhost ~]# systemctl stop firewalld #关闭防火墙
[root@localhost ~]# systemctl disable firewalld #永久关闭防火墙
[root@localhost ~]# setenforce 0 #临时关闭selinux
[root@localhost ~]# vi /etc/sysconfig/selinux #永久关闭,需要重启机器
将文件中的SELINUX=enforcing改为disabled
[root@localhost ~]# getenforce #查看selinux是否开启
1.5 常用快捷键
编辑命令:
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + xx:在命令行首和光标之间移动
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + w :从光标处删除至字首
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符
重新执行命令:
Ctrl + r:逆向搜索命令历史
Ctrl + p:历史中的上一条命令
ESC + . :打印之前执行过的命令的最后一部分 以空格为分隔符
控制命令:
Ctrl + l:清屏
Ctrl + c:终止命令
Tab键: 自动补全
历史命令:
上下箭头
history
!命令 ----执行最近执行过命令
1.6 目录解释
dev #设备文件
/usr #系统文件,相当于C:\Windows
/usr/local #软件安装的目录,相当于C:\Program
/usr/bin #普通用户使用的应用程序
/usr/sbin #管理员使用的应用程序
/etc #配置文件(系统相关如网络/etc/sysconfig/network)
/var #存放的是一些变化文件,比如数据库,日志,邮件....
/mnt #系统提供这个目录是让用户临时挂载其他的文件系统
/opt #空目录
/tmp #临时文件(系统:程序产生的临时文件)
/proc #虚拟文件系统,系统程序文件所处目录。虚拟文件系统:只要关机就会没有。
/boot #这里存放的是启动Linux时的一些核心文件
1.7 文件类型
- 普通文件(文本文件,二进制文件,压缩文件,图片...)
d 目录文件(蓝色)
b 设备文件 block device 设备文件,如硬盘,U盘...
c 设备文件 字符设备文件,比如我们的终端tty1,打印机。
l symbolic link 即符号链接文件,又称软链接文件 (浅蓝色)
s socket 即套接字文件,用于实现两个进程进行通信
p 管道文件
1.7 切换目录
[root@localhost ~]# . #表示当前目录
[root@localhost ~]# cd .. #回到上一级目录等同于相对路径
[root@localhost ~]# cd 或 cd ~ #直接回到家目录
[root@localhost ~]# cd /home/alice #切换目录
[root@localhost ~]# cd - #回到原来目录
1.8 创建文件
[root@linux-server ~]# touch file1.txt #无则创建,如果存在修改时间
[root@linux-server ~]# touch /home/file10.txt #/home目录下创建文件
[root@linux-server ~]# touch /home/{a.txt,b.txt} # {}集合,同时创建
[root@linux-server ~]# touch /home/file{1..20} #批量创建
[root@linux-server home]# touch file{1..10}.txt #批量创建以.txt结尾文件
1.9 创建目录
[root@linux-server ~]# mkdir dir1 #创建目录
[root@linux-server ~]# mkdir /home/dir2 /home/dir3 #创建两个目录
[root@linux-server ~]# mkdir /home/{dir4,dir5} #集合穿建
[root@linux-server ~]# mkdir -v /home/{dir6,dir7} #显示创建时的详细信息
[root@linux-server ~]# mkdir -p /home/dir8/111/222 #创建目录下的子目录
1.10 复制粘贴
[root@linux-server ~]# touch a.txt #创建个文件
[root@linux-server ~]# cp -v a.txt /home/ #复制粘贴,-v显示详细信息
[root@linux-server ~]# cp -v a.txt /home/b.txt #复制粘贴并改名
[root@linux-server ~]# cp -r /etc /home/ #-r 连同目录里面的文件一起拷贝
[root@linux-server ~]# cp -r 源文件1 2 3... 目标目录 #拷贝多个文件到同个目录
-a 在拷贝文件的时候不改变权限,属性
1.11 移动
[root@linux-server ~]# mv /root/a.txt /opt/ #移动
[root@linux-server ~]# mv /root/a.txt /opt/b.txt #移动并改名
1.12 删除
[root@linux-server ~]# rm -rf 被删除的文件或目录名
-r 递归,同时删除子文件
-f 强制
-v 详细过程
1.13 查看文件内容
[root@linux-server ~]# cat /etc/passwd #查看文件的全部内容
参数:
-n 显示行号
-A 包括控制字符(换行符/制表符)
[root@linux-server ~]# head /etc/passwd #默查看前十行
[root@linux-server ~]# head -2 /etc/passwd #默认查看前两行
[root@linux-server ~]# tail /etc/passwd #默认查看文件的后十行
[root@linux-server ~]# tail -1 /etc/passwd #查看文件最后一行
[root@linux-server ~]# tail -f /var/log/secure #-f 动态查看文件的尾部
[root@linux-server ~]# tailf /var/log/secure #功能同上
1.14 分页显示
[root@linux-server ~]# less /etc/makedumpfile.conf.sample
空格键是翻页 回车键是翻行 上下箭头可以来回翻
搜索: /关键字 #n按关键字往下翻 N按关键字往上翻
退出:q
more 也是分页显示
1.15 针对文件内容过滤
[root@linux-server ~]# grep 'root' /etc/passwd #过滤文件中带有root的内容
^以什么开头
[root@linux-server ~]# grep '^root' /etc/passwd #过滤以root开头的行
$以什么结尾
[root@linux-server ~]# grep 'bash$' /etc/passwd #过滤以bash结尾的行