提示 命令没有找到?

]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
1.输入命令有误
2.该命令没有安装
3.该命令执行程序没有在PATH的路径中

快捷键

Tab 键自动补全
可以补全命令字 选项 参数 文件路径 软件名 服务名
ctrl+l 清屏
ctrl+c 废弃当前编辑的命令行
Esc+. 粘贴上一个命令的参数 参数没有变 命令发生变化时使用
Ctrl+a #命令行回到行首
Ctrl+e #命令行到行尾

date 查看日期时间

date -s “ 2008-9-6 11.11.11”(日期和时间中间有一个空格) 设置日期和时间
]# date
2017年 11月 21日 星期二 11:30:29 CST
]# date -s "2008-9-6 11:11:11"
]# date -s "2017-11-21 11:31:20"

bc 计算器

]# bc
取余运算 10%3 结果为余数

重定向

重新定向输出 将前面命令的结果 作为内容写入文本文件中
\>: 覆盖重定向
\>>: 追加重定向
echo:输出内容为输入的内容

]# head -2 /etc/passwd
]# head -2 /etc/passwd > /opt/test.txt

]# hostname >> /opt/test.txt
]# cat /opt/test.txt

ls 列出文档以及属性

ls List
格式 ls 选项 目录或文件名
常用命令选项
-l 以长格式显示
-A 包括名称以.开头的隐藏文档
-d 显示目录本身 (而不是内容的)的属性
-h 提供易读的容量单位 (K M )等 系统会自动选择适合的单位[root@A /]# ls -A /root/

]# ls -l /boot
]# ls -lh /boot
]# ls -ld /boot
]# ls -lA /root/
]# mkdir /opt/.student
]# ls /opt/
]# ls -A /opt/

命令的别名

作用 简化复杂命令的输入
]# alias myls='ls -lh' #定义别名
]# myls /root/
]# alias #查看所有有效的别名
]# unalias myls #删除别名

使用通配符

想匹配一定规律的文件
* 任意多个字符
?单个字符
]# ls /etc/*tab
]# ls /dev/tty?
]# ls /dev/tty??
]# ls /dev/tty???

– [a-z]:多个字符或连续范围中的一个,若无则忽略
– {a,min,xy}:多组不同的字符串,全匹配

]# ls /dev/tty[3-8]
]# ls /dev/tty[1-5]
]# ls /dev/tty{1,3,5,7,9,S0,30,haha}
]# ls /dev/tty{10,20,30,S1}
]# ls /dev/tty{S2,S3}

请列出 /dev/tty20至/dev/tty30
]# ls /dev/tty{2[0-9],30}

ls /dev/tty2? /dev/tty30

|"管道"

将前面命令输出结果交给后面的命令处理
]# head /opt/passwd | tail -2 (只看前十行的后两行)

创建目录

mkdir -p 标示连父目录一起创建 (逐级创建目录)
]# mkdir -p /vod/movie/cartoon
//-p表示连父目录一起创建

文件的删除

rm 选项 路径
rm -rf 强制递归删除
]# touch /opt/1.txt
]# mkdir /opt/abc
]# ls /opt/
1.txt abc
]# rm -rf /opt/*
]# ls /opt/

mv 移动/改名

mv-Move
]# rm -rf /opt/*
]# mkdir /opt/nsd01
]# touch /opt/1.txt
]# ls /opt/
1.txt nsd01
]# mv /opt/1.txt /opt/nsd01
]# ls /opt/
nsd01
]# ls /opt/nsd01

重命名:路径不变的移动

]# mv /opt/nsd01 /opt/test
]# ls /opt/

注意
文本文件后面必须没有斜线
目录后面的斜线可有可无

cp 复制

cp-Copy
格式 cp 选项 原文件 目标路径
常用命令选项
-r递归
临时取消别名 命令行前加\ 这一次运行当中 临时取消别名
支持拷贝到目标路径中的时候指定一个新名字

]# rm -rf /opt/*
]# cp /etc/passwd /opt/
]# ls /opt/

]# cp /boot/vm* /opt/
[root@A /]# ls /opt/

]# cp -r /etc/shadow /mnt/ /opt/
]# ls /opt/
临时取消别名
[root@A /]# \cp -r /boot/ /opt/

注意 当有多个参数时 默认最后一个参数为目标路径 前面的全都是原文件

ssh 用户名@ip地址

选项 ssh -X 本机运行对方的图形界面
补充快捷键 ctrl+shift+t 开启一个新的终端
本机运行对方的图形程序
]# ssh -X 用户名@IP地址
]# ssh -X [email protected]
]# firewall-config #防火墙的图形程序

权限的数值表示

• 权限的数值化
– 基本权限:r = 4,w = 2,x = 1

]# mkdir /nsd01
[root@svr7 ~]# ls -ld /nnd01
drwxr-xr-x. 2 root root 6 12月 6 20:44 /nnd01

]# chmod 007 /nnd01
]# ls -ld /nsd01
d------rwx. 2 root root 6 12月 6 20:44 /nnd01

]# chmod 700 /nnd01
]# ls -ld /nsd01
drwx------. 2 root root 6 12月 6 20:44 /nnd01

]# chmod 750 /nnd01
]# ls -ld /nnd01
drwxr-x---. 2 root root 6 12月 6 20:44 /nnd01

自定义Yum仓库

1.自己下载的rpm包,放到/root/tools目录

2.查看
[root@svr7 ~]# ls /root/tools/

3.仓库数据文件
[root@svr7 ~]# createrepo /root/tools/
[root@svr7 ~]# ls /root/tools/

4.书写客户端配置文件
[root@svr7 ~]# vim /etc/yum.repos.d/rhel7.repo
[myrpm]
name=myrpm
baseurl=file:///root/tools/
enabled=1
gpgcheck=0

]# yum clean all 清理yum 缓存
]# yum repolist 列出yum仓库
]# yum makecache 缓存yum仓库

RPM软件包管理

linux独有的软件包封包方式 (一旦封包结束 安装位置和功能将不能被改变)
源代码包---->将源代码包封装成RPM包

vsftpd-3.0.2-10.el7.x86_64.rpm
软件名-版本-适用的系统-操作系统的架构.rpm

rpm -q 软件名 查询软件是否安装
[root@server0 ~]# rpm -q firefox
firefox-24.5.0-1.el7.x86_64
[root@server0 ~]# rpm -q vsftpd
未安装软件包 vsftpd
[root@server0 ~]# rpm -q bash
bash-4.2.45-5.el7.x86_64

[root@server0 ~]# rpm -ivh /dvd/Packages/vsftpd-3.0.2-10.el7.x86_64.rpm 安装并显示进度条
-i 安装
[root@server0 ~]# rpm -e vsftpd 卸载 (直接写软件名)
[root@server0 ~]# rpm -q vsftpd 查询软件包是否安装/卸载完成

RPM打包

将源码包打包成rpm包
1 什么是rpm包
rpm是压缩包(源码安装后的目录)
yum install 依赖
./configure
make
make install
tar - zcf nginx.rpm /usr/local/nginx

rpm包含一些描述信息

2 如何打包
[root@esoneson ~]# yum -y install rpm-build
[root@eson ~]# rpmbuild -ba xx.spec
错误:stat /root/xx.spec 失败:没有那个文件或目录
[root@eson ~]# cd rpmbuild/
[root@eson rpmbuild]# ls
BUILD BUILDROOT RPMS SOURCES SPECS SRPMS
#命令会报错 目的是自动创建rpmbuild目录 以及其下六个子目录

SOURCES #存放源码包
SPECS #配置文件(基本信息 源码安装)
BUILDROOT #假根(对rpmbuild软件来说 此目录为计算机的根)
RPMS #成品位置 RPM包

实验
]# ls SOURCES/
nginx-1.8.0.tar.gz
[root@eson rpmbuild]# vim SPECS/nginx.spec #扩展名必须为spec
Name:nginx
Version:1.8.0
Release:180
Summary:this is a web server

#Group:
License:GPL
URL:www.test.com
Source0:nginx-1.8.0.tar.gz
Vendor:Test
#BuildRequires:
#Requires:

%description
rpm test nginx server
#以上均为描述信息

%prep
%setup -q
#将源码包 tar解包 cd到目录下

%build
./configure --with-http_ssl_module
make %{?_smp_mflags}

%install
make install DESTDIR=%{buildroot}

%files
%doc
/usr/local/nginx/*
#打包的对象

[root@eson rpmbuild]# yum -y install gcc pcre-devel openssl-devel
手动安装依赖关系
[root@eson rpmbuild]# rpmbuild -ba SPECS/nginx.spec
+ exit 0
#返回值为0 即代表成功

[root@Web1 x86_64]# ls
nginx-1.8.0-180.x86_64.rpm
拷贝此文件到其他机器测试
]# rpm -ivh nginx-1.8.0-180.x86_64.rpm

du,统计文件的占用空间

– du [选项]... [目录或文件]...

– -s:只统计每个参数所占用的总空间大小
– -h:提供易读容量单位(K、M等)

]# du -sh /root
]# du -sh /root /etc /var

快捷方式

(链接、连接): ln -s /路径/源文件 /路径/快捷方式的名字

]# ln -s /etc/sysconfig/network-scripts/ifcfg-eth0 /opt/network

]# ls -l /opt/

]# cat /opt/network

i节点:编号,唯一标识硬盘上一块存储区域

ln,创建软连接
软连接 --> 原始文档 --> i节点 --> 文档数据
ln -s 原始文件或目录 软连接文件
若原始文件或目录被删除,连接文件将失效
软连接可存放在不同分区/文件系统

ln,创建硬连接
硬连接 --> i节点 --> 文档数据
ln 原始文件 硬连接文件
若原始文件被删除,连接文件仍可用
硬连接与原始文件必须在同一分区/文件系统

#硬链接相当于一个人有两个名字
#软链接相当于一个秘书

只有硬连接不会产生新的文件,也不会单独占用新的磁盘空间
]# rm -rf /opt/*
]# echo 123 > /opt/A
]# ln -s /opt/A /opt/A1 #制作软连接快捷方式
]# ls /opt/

]# ln /opt/A /opt/A2 #制作硬连接快捷方式
]# ls /opt/

]# cp /opt/A /opt/A3 #复制新文件
]# ls /opt/
]# ls -i /opt/ #查看目录内容的i节点编号

]# rm -rf /opt/A #删除源文件
]# ls -i /opt/
]# cat /opt/A1 #软连接不可用
]# cat /opt/A2 #硬连接可用
]# cat /opt/A3 #复制新文件可用

压缩

zip :跨平台(Windows与Linux)
命令格式:zip [-r] /路径/备份文件.zip /路径/被归档的文档..
]# zip -r /opt/test01.zip /home/ /boot/
]# ls /opt
]# unzip /opt/test01.zip -d /mnt/

]# zip -r /opt/test02.zip /etc/selinux
]# ls /opt
]# unzip /opt/test02.zip /mnt

datae

date,查看/调整系统日期时间
date +%F
date +"%Y-%m-%d %H:%M:%S"
date -s yyyy-mm-dd HH:MM:SS"

历史命令

管理/调用曾经执行过的命令
histroy:查看历史命令列表
history -c:清空历史命令
!str:执行最近一次以str开头的历史命令

调整历史命令的数量
]# vim /etc/profile
HISTSIZE=1000 //默认记录1000条

man,格式化手册阅读工具

按 上 、 下 、 PgUp 、PgDn 键滚动及翻页
按 q 键退出
按 / 键向后查找关键词(n、N切换)
]# man mkdir
]# man 5 passwd #5:配置文件帮助信息

Set UID

附加在属主的 x 位上
属主的权限标识会变为 s
适用于可执行文件,Set UID可以让使用者具有文件属主的身份及部分权限
]# which mkdir
/usr/bin/mkdir
]# cp /usr/bin/mkdir /usr/bin/abcdir
/]# chmod u+s /usr/bin/abcdir
]# ls -l /usr/bin/abcdir
]# useradd student
]# su - student
[student@svr ~]$ mkdir nsd01
[student@svr ~]$ ls -l
[student@svr ~]$ abcdir nsd02
[student@svr ~]$ ls -l
[student@svr ~]$ exit

查看网络接口信息

netstat -anptu

    -a:显示所有接口信息
    -n:以数字方式显示
    -p:显示程序信息  
    -t:tcp连接 
    -u:udp连接