
Linux终端系统操作
1.alias别名
1.alias 命令 查看系统下的所有别名
[root@oldboyedu-48 ~]# alias alias cp='cp -i' alias egrep='egrep --color=auto' alias grep='grep --color=auto' alias l.='ls -d .* --color=auto' alias ll='ls -l --color=auto' alias ls='ls --color=auto' alias mv='mv -i' alias rm='rm -i' alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'2.设置别名 alias 小名=’命令 其他’
alias cp=’cp -i’3.永久生效: /etc/profile
unset -f pathmunge alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias rm='echo rm command bny'4.生效
source /etc/profile
5.坑
只针对 rm cp mv --这三个命令需要修改一下文件.bashrcvim /root.bashrc # .bashrc # User specific aliases and functions alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # Source global definitions if [ -f /etc/bashrc ]; then . /etc/bashrc fi命令别名将用户经常使用的复杂命令简单化, 可以用"alias 别名名称=命令"命令创建属于自己的命令别名, 若要取消一个命令别名,则是用unalias 别名名称命令。
//1.定义临时别名, if1为查看eth0网卡别名 [root@x86cloud ~]# alias if0='ifconfig eth0' [root@x86cloud ~]# if0 //如果定义命令本身, 会执行什么? [root@x86cloud ~]# alias ifconfig='ifconfig eth0' //绝对路径执行, 调用命令本身 [root@x86cloud ~]# /sbin/ifconfig //通过\转义字符, 调用命令本身 [root@WebServer ~]# \ifconfig //2.定义系统永久生效别名, 将命令别名添加至当前用户环境配置文件 [root@x86cloud ~]# echo "alias ifconfig='ifconfig eth0'" >> ~/.bashrc //如将别名命令添加至/etc/bashrc , 对所有用户生效 //3.取消临时别名 [root@x86cloud ~]# unalias ifconfig
2.网卡的配置文件
1.网卡配置文件 /etc/sysconfig/network-scripts/
DEVICE=etho 设备名字:网卡名字 HWADDR=00:0C 网卡地址 TYPE 网络类型 UUID 系统设备标识号 ONBOOT=yes 在开机和重启网络的时候重启动 NM_CONTROLLED 是否受系统network控制 BOOTPROTO=none/static/dhcP 网卡获取IP的方法 IPADDR 网卡的IP地址 NETMASK 子网掩码 GATWAY 默认网关 DNS1 DNS2
3.fstab开机自动挂载
1./etc/fstab 开机自动挂载
[root@oldboyedu-48 ~]# cat /etc/fstab # # /etc/fstab # Created by anaconda on Mon Jun 11 23:33:47 2018 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # UUID=80a93f6f-2eb0-4552-961d-2f3060a32638 / ext4 defaults 1 1 UUID=681b4cb3-8a06-4d06-9617-979f09cea031 /boot ext4 defaults 1 2 UUID=ddd933bb-86cc-445a-b0c8-028e9c7987d2 swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 01.第一列 设备名称(磁盘分区名称)
2.第二列 挂载点(设备入口)
3.blkid 命令
4.开机自启动的程序/命令存放位置
1.
/etc/rc.local开机自启动的程序/命令存放位置
2.chkconfig命令检查、设置系统的各种服务。这是Red Hat公司遵循GPL规则所开发的程序,它可查询操作系统在每一个执行等级中会执行哪些系统服务,其中包括各类常驻服务。谨记chkconfig不是立即自动禁止或激活一个服务,它只是简单的改变了符号连接。
让一个服务/脚本开机自启动
1./etc/rc.local
2.chkconfig
运行级别
/etc/inittab init table ---linux运行级别的配置文件运行级别 # 0 - halt (Do NOT set initdefault to this) # 1 - Single user mode # 2 - Multiuser, without NFS (The same as 3, if you do not have networking) # 3 - Full multiuser mode # 4 - unused # 5 - X11 # 6 - reboot (Do NOT set initdefault to this) 0. 关机 1. 单用户模式 2. 多用户模式,没有NFS 3. 命令行,文本模式 4. 未使用 5. 桌面模式 图形化界面模式 6. 重启命令 runlevel ---查看运行级别
切换运行级别
1.init切换运行级别
2.runlevel查看运行级别
5.Linux系统终端切换
服务器终端切换: Ctrl + Alt + F1 … F6
虚拟机终端切换: Ctrl +Shift +Alt +F1 … F66.终端命令快捷键
终端快捷键的使用可以帮助我们大大提升效率
Ctrl + A //光标跳转至正在输入的命令行的首部 Ctrl + E //光标跳转至正在输入的命令行的尾部 Ctrl + C //终止前台运行的程序 Ctrl + D //删除光标所在的位置字符ctrl-d表示推出当前shell。 Ctrl + Z //将任务暂停,挂至后台 Ctrl + L //清屏,和clear命令等效。 Ctrl + K //删除从光标到行末的所有字符 Ctrl + U //删除从光标到行首的所有字符 Ctrl + R //搜索历史命令, 利用关键字 ctrl + s 锁上 ctrl + q 解锁 ctrl + w 光标左边的单词剪切掉 ctrl + ← 依据单词位置移动 ctrl + → 依据单词位置移动 ctrl+f 依据单个字符位置移动 → ctrl+b 依据单个字符位置移动 ← //在命令行前加面加 "#" 则该命令不会被执行
History查看系统命令历史, 追溯之前发生情况命令选项 -w 保存命令历史到历史文件 -c 清空命令历史记录, 不会情况文件 -d 删除命令历史的第 N 条行history命令历史相关快捷键
//使用双 !! 可执行上一条命令 [root@x86cloud ~]# ls x86cloud.com [root@x86cloud ~]# !! ls x86cloud.com //输入!6, 执行history命令历史中第 6 行命令 [root@x86cloud ~]# !6 touch x86cloud.com //使用!cat, 调用history命令历史最近一次执行过的cat命令 [root@x86cloud ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 [root@x86cloud ~]# !cat cat /etc/sysconfig/network-scripts/ifcfg-eth0 [root@x86cloud ~]# ls /etc/passwd //调用上一条命令的最后参数或选项, 按下ESC松开, 然后按下 "." [root@x86cloud ~]# cat [root@x86cloud ~]# cat /etc/passwd //第二种方式, 输入!$ [root@x86cloud ~]# ls !$ ls /etc/passwd /etc/passwd
7.修改PATH变量
打印当前环境变量目录
[root@x86cloud ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/binPATH由多个路径组成,每个路径值之间用冒号间隔,对这些路径的增加和删除操作都将影响到Bash解释器对Linux命令的查找。
修改PATH变量
[root@x86cloud ~]# PATH=/soft/bin:$PATH
写入/etc/profile配置文件永久生效
echo 'export PATH=/soft/bin:$PATH' >> /etc/profile
8.终端转义字符
Shell解释器提供了非常丰富的转义字符, 来实现字符处理以及命令替换。
4类常用转义字符反斜杠(\):使反斜杠后面的一个变量变为字符串。
单引号(''):转义其中所有的变量为单纯的字符串。
双引号(""):保留其中的变量属性,不进行转义处理。
反引号(``):把其中的命令执行后返回结果。//将特殊字符转换为正常字符 [root@x86cloud ~]# echo "shoping is $500" shoping is 00 [root@x86cloud ~]# echo "shoping is \$500" shoping is $500 //转义其中特殊字符为普通字符串 [root@x86cloud ~]# echo 'shoping is $500' shoping is $500 //使用$()实现命令替换 [root@x86cloud ~]# echo "The Directory is $(pwd)" The Directory is /root //使用``实现命令替换 [root@x86cloud ~]# echo "The Directory is `pwd`" The Directory is /root //转义其中所有的变量为单纯的字符串 [root@x86cloud ~]# touch file-`date +%F-%H-%S` [root@x86cloud ~]# ls file-2017-12-03-04-18 [root@x86cloud ~]# touch 'file-`date +%F-%H-%S`' [root@x86cloud ~]# ls file-2017-12-03-04-18 file-`date +%F-%H-%S`date命令
+ 根据指定的格式显示日期 date +%F +%Y-%m-%d 年月日 date +%T +%H:%M:%S 时分秒 date +%w 周 -d 根据描述显示日期 -s 修改时间
9.系统目录结构
目录结构
/etc 系统重要配置文件, 以及常用服务配置文件 /var 存放系统引导启动时产生的可变文件,文件通常动态更改的,例如: 缓存目录,日志文件 /run 系统启动后, 运行的程序产生的运行时数据, 包括进程的pid文件,锁文件等 /home 普通用户的主目录, 普通用户的家目录默认为/HOME/USERNAME /root 超级管理员的主目录, 普通用户无权操作 /tmp 存放临时文件, 一般存放超过10天以上都会自动删除,可以更改删除临时文件的期限 /boot 存放系统引导时候需要的文件 /dev 存放设备文件 /usr 安装的软件, 共享库, 重要的子目录有 /usr/bin 用户命令目录 /usr/sbin 管理员命令目录 /usr/local 本地自定义安装的软件 //注意:在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下,例如: /bin --> /usr/bin /sbin --> /usr/sbin lib -> usr/lib lib64 -> usr/lib64(1)/bin --一般用户可用,启动时会用到的命令,既在文件系统还没有被挂载时,也能够使用的命令. (2)/boot --[grub--开机设置相关文件];内核文件(vmlinuz) (3)/dev --设备文件 (4)/etc --[rc.d];[x11]--用于存放不同运行级别的启动脚本的链接文件 (5)/home --用户的家目录 (6)/lib --用于存放程序的动态库和模块文件 (7)/mdeia --[cdrom,floppy,u盘]用于挂载本地磁盘和其他储存设备 (8)/mnt --用于挂载其他临时文件系统 (9)/opt --发行版附加的一些软件包安装目录 (10)/root --root的家目录 (11)/sbin --很多只能是root运行的命令 一些系统的更新备份还原和开关机 (12)/srv --存放服务进程所需的数据文件和一些服务的执行脚本 (13)/tmp --各种临时文件/usr 下的目录
(1)/bin --非必要可执行文件(在单用户模式中不需要),面向所有用户 (2)/include --标准包含头文件 (3)/lib --/usr/bin和/usr/sbin 中二进制文件 (4)/local --[/bin,/etc,/include,/lib,/share,/src] 本地数据的第三层次,具体到本台主机 (5)/share --体系结构无关(共享)数据 (6)/sbin --非必要的系统二进制文件,例如:大量网络服务的守护进程 (7)/src --源代码/var 下的目录
(1)/account (2)/cache (3)/lib (4)/lock (5)/log (6)/run (7)/tmp (8)/spool (9)/mail 都是变量文件/etc 目录下面的文件
1./etc/sysconfig/network-scripts/ifcfg-eth0 2./etc/resolv.conf DNS客户端 3./etc/hosts 4./etc/sysconfig/network 5./etc/fstab 开机自动挂载列表 6./etc/inittab 7./etc/rc.local 8./etc/profile 别名 环境变量 9./etc/bashrc 10./etc/issue 登陆前的信息 11./etc/motd 登陆后的信息 12./usr/local 编译安装默认的目录/process 虚拟目录 进程 程序 内核信息
1./proc/cpuinfo 2./proc/meminfo 3./proc/loadavg 4./proc/mounts /proc process 虚拟目录 进程 程序 内核信息 /proc/cpuinfo processor :0 第一颗cpu的第一个核心 physical id : 1 第一颗CPU core per socket 每颗CPU有多少核心 Socket 有多少个CPU /proc/meminfo /proc/loadavg 平均负载 负载:系统的繁忙程度 uptime w /proc/mounts黑洞文件
/dev/null 黑洞 /dev/zero 不断的向外发出数据
10.文件时间stat
[root@test-example ~]# stat test.txt File: 'test.txt' Size: 2 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: 67335626 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Context: unconfined_u:object_r:admin_home_t:s0 Access: 2018-01-21 12:12:48.949097044 +0800 Modify: 2018-01-21 12:12:35.243302963 +0800 Change: 2018-01-21 12:12:35.243302963 +0800 Birth: - 访问时间:atime,查看内容 修改时间:mtime,修改内容 改变时间:ctime,文件属性,比如权限 删除时间:dtime,文件被删除的时间
11.删除和花式查看
文件目录删除命令rm
rm [OPTION]... FILE... -r 递归 -f 强制删除 -v 详细过程 //删除文件, 默认会提醒是否删除文件 # rm anan //强制删除文件, 不提醒 # rm anan -f //删除目录,会提醒 # rm -r dir/ //强制删除目录,不提醒 # rm -rf dir/文件查看命令
cat //查看文件内容 示例:cat /etc/passwd 示例:cat -n /etc/passwd //-n参数行号 示例:cat >> x86cloud.txt <<EOF //追加数据 test EOF head //查看文件头部内容,默认前十行 示例:head /etc/passwd 示例:head -n5 /etc/passwd //-n参数指定查看头几行 tail //查看文件尾部内容,默认最后十行 示例:tail /etc/passwd 示例:tail -f /var/log/messages // -f参数跟随尾部输出而变化 more //按空格可翻页查看文件内容,按q可推出 示例:more /etc/passwd less //和more类似 示例:less /etc/passwd
12.下载和查找
文件下载命令
wget //文件下载 -O //指定下载地址,更改名称 -T //超时时间 -q //安静下载(关闭wget输出) --spider //网络爬虫 示例:wget http://www.baidu.com curl //文件下载 示例:curl -o http://www.baidu.com命令查找命令
locate //查找文件或者目录
示例:locate /etc/sh //搜索etc目录下所有以sh开头的文件
示例:locate -i /etc/sh //搜索etc目录下,所有以sh开头的文件,忽略大小写which //查找系统PATH变量目录下的命令(绝对路径)
示例:which lswhereis //查找文件索引数据库下的命令、源文件、man文件。非PATH变量查找,所以查找的面比which要广 -b,-m
示例:whereis ls
示例:whereis -b ls
13.yum和rpm
yum 介绍
1.-y 默认yes 2.yum grouplist --显示系统安装了什么包组 3.yum install tree -y 4.yum groupinstall -y “ ” --安装包组 1.yum install tree -y 2.yum groupinstall “ ” “ “ 3.yum grouplist1.开启yum缓存
设置 /etc/yum.conf 中的 keepcache 选项为 1: 打开缓存后,每个 yum 操作都可能从仓库下载软件包数据 keepcache=1 根据命令查找yum包 yum provides showmountrpm 介绍
1.查看已安装的RPM包运行rpm -qa | grep [package] , 比如: rpm -qa | grep docker 运行yum list installed | grep [package] 比如: yum list installed | grep dockerrpm参数
-qa 查询是否安装 -ql 显示安装包的内容 -ivh 安装 -e 删除
14.buffer和cache
1.memcached / redis
1、Redis和Memcache都是将数据存放在内存中,都是内存数据库。不过memcache还可用于缓存其他东西,例如图片、视频等等; 2、Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储; 3、虚拟内存--Redis当物理内存用完时,可以将一些很久没用到的value 交换到磁盘; 4、过期策略--memcache在set时就指定,例如set key1 0 0 8,即永不过期。Redis可以通过例如expire 设定,例如expire name 10; 5、分布式--设定memcache集群,利用magent做一主多从;redis可以做一主多从。都可以一主一从; 6、存储数据安全--memcache挂掉后,数据没了;redis可以定期保存到磁盘(持久化); 7、灾难恢复--memcache挂掉后,数据不可恢复; redis数据丢失后可以通过aof恢复; 8、Redis支持数据的备份,即master-slave模式的数据备份;2.buffer和cache什么区别?
写入数据到内存里,这个数据的内存空间称为缓冲区(buffer),写入到内存buffer 缓冲区, 写缓冲。
从内存读取数据,这个存数据的内存空间称为缓存区(cache),从内存cache读取 缓存区,读缓存。