很显然, 直接买一台 linux 会简单方便很多, 所以在阿里云上买了一台学习机, 如果不是准备太深入 linux 的, 这样就可以了. 如果是用 VMware 安装的话, 会麻烦一点, 安装请移步其他教程. VMwear 安装 Centos7 超详细过程
本文基于 CentOS 7, 如果有命令用不了, 请百度如何使用
学习资源 史上最牛的 Linux 视频教程—兄弟连
ls [选项] [参数] (描述: 查看文件信息)
-l long 显示详细 (长的) 信息
-a all 显示隐藏文件
-i iNode 显示文件唯一的 iNode 节点值
-h human 对人友好的显示信息 (文件长度用 k, m 表示)
-d direct 显示指定的目录本身的信息 (而不是它的子级信息)
ll 表示 ls -l (别名)
分析执行 ls -l [文件或目录名]
显示的这些目录信息的意思
[root@miyahejuzi ~]# ls -l /
总用量 68
drwxr-xr-x 5 root root 4096 8 月 21 23:14 a_a
lrwxrwxrwx. 1 root root 7 8 月 18 2017 lib -> usr/lib
-rw-r--r-- 1 root root 0 8 月 20 20:16 a.txt
#--------------------------------------------
drwxr-xr-x 表示此文件或目录的
第一个字符 d, l, - 分别表示此项是目录 (direction), 软连接 (link), 文件 (-)
第 2-4, 5-7, 8-10 分别表示此文件的持有者, 此用户加入的组, 其他用户对此文件的权限; r 读, w 写, x 执行 (对目录来说就是能够进入)
5 表示引用计数
root 表示此项的所属者
第二个 root 表示此所属组
4096 表示此文件的大小
8 月 21 23:14 时间
a_a 文件名
pwd (描述: 查看当前所处的目录)
cd (描述: 切换目录)
touch (参数) 创建文件
mkdir [选项] (参数) (描述: 创建目录)
-p : 直接创建多级目录
cp [选项] (源目录) (目标目录) (描述: 复制)
-r : 复制目录
-p : 保留文件属性
mv [选项] (源文件或目录) (目标文件或目录) (描述: 移动 / 剪切)
-b : 若需覆盖文件,则覆盖前先行备份。
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i : 若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u : 若目标文件已经存在,且 source 比较新,才会更新 (update)
(这个 mv 有点复杂, 第二个参数目标文件或目录如果不存在的话, 则是移动并重名. 如果存在, 第二个参数是目录则移动到子级, 是文件会提示是否覆盖, 但是只能文件覆盖文件, 目录覆盖目录)
rm [选项] (目录/文件)(描述: 删除目录/文件)
-r : 删除目录
-f : 不提示的删除目录
# 不要乱输 rm -rf /
cat (描述: 显示文件内容)
-n : 显示行号
tac (描述: 倒过来显示文件内容)
more
空格 翻页
enter 下一行
q 退出
less 和 more 一样只是添加了搜索
输入 / 参数 就能此文件和参数有关的值了
head 显示头几行
-n 显示几行
tail 显示末尾几行
-n
-f 动态更新
ln 创建硬链接文件 (相当于 win 的快捷方式)
-S 创建软连接 (大写的S)
不能跨分区创建链接
硬链接 iNode 的值相同
- 不能指定目录
- 同步更新文件内容, 但是源文件删除, 硬链接不会删除
软连接
- 实际访问权限是源文件的权限
r = 查看, w = 修改, x = 执行
r=4, w=2, x=1
chmod 777 [文件 / 目录名]
三个数字表示 所属人, 所属组, 其他人
数字的具体值则是 r,w,x 相加的值.
比如 7 = 4 + 2 + 1 = r w x
6 = 4 + 2 = r w -
一个文件或者目录是否能删除, 需要用户对此目录的上级目录拥有写权限, 才能修改
# 只有 root 用户才可以修改
chown [用户] (目录 / 文件) 修改所有者
chgrp [用户] (目录 / 文件) 修改所属组
umask -S 查看缺省的权限 (创建文件的默认权限)
mask 权限掩码 (0022)
find [搜索范围] [匹配条件] # 比较耗资源, 不选匹配条件则全部显示
-name 参数
* 匹配任意字符 ? 匹配单个字符
-iname 忽略大小写
-size 指定文件大小
- 小于 + 大于 单位是数据块 1 数据块 = 0.5kb
-a and
-o or
-user 所有者 -group 所属组
-type d 目录, l 链接, f 文件
-exec 命令 {} \; 对查询结果执行指定命令
-inum 更具 iNode 的值查找
locate 本地缓存了一个资料库, 查找则是在资料库里面查找
which 查找命令所在的位置
whereis 查找命令所在的位置, 和帮助文档所在的位置
grep [选项] (需要查找的词) (文件名)
-i 忽略大小额
-v ^# 正则忽略以 #开头的行
man 查看命令的帮助文档 manual
whatis 命令的简短概述
apropos 配置文件的简短介绍
help 查看 shell 内置命令的用法, 比如 pwd, cd
useradd [用户名] 添加用户
passwd 修改用户的密码 (修改了密码才能登陆) abcd1234 e@
who 查看用户信息
登陆用户名 登陆终端 登陆时间 ip 地址
w
运行时间 负载情况 使用时间
每个用户占用的资源, 和活动情况
uptime
运行时间 负载情况 使用时间
.zip 格式 : 压缩 zip , 解压缩 unzip 使用 -r 压缩文件
.gz 格式 : 压缩 gzip, 解压缩 gunzip(gzip -d) 只能压缩文件 不保留源文件
.bz2 格式 : 压缩 bzip2, 解压缩 bunzip2 只能压缩文件 不保留源文件
.tar 格式
tar [选项] (压缩的目标名) (要压缩的文件)
-c 压缩
-x 解压缩
-v 显示详细信息
-f 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名
-z 用 .tar.gz 格式
-j 用 .tar.bz2 格式
# 压缩 tar -csf dir.tar dir
# 解压缩 tar -xsf dir.tar
# 压缩 gz tar -zcsf dir.tar.gz dir
# 解压缩 gz tar -zxsf dir.tar.gz dir
# 压缩 bz2 tar -jcsf dir.tar.bz2 dir
# 解压缩 bz2 tar -jxsf dir.tar.bz2 dir
# 压缩解压缩把 c 换成 x 就行了
# 还有别的符号, 可以添加文件, 或替换压缩包里面某个文件
write [用户名]
ctrl + backspace 退格, ctrl + d 退出
wall 广播所有用户 (包括自己)
ping (ip 地址) 测试网络性能 packet less 丢包率
-c 指定次数
ifcongfig 查看当前网卡的信息
mail 发送邮件 (此命令好像 cliyun 因为禁用了端口的原因不能使用), 等下百度下看看
last 查看过去登录的用户信息
lastlog 用户最后一次登录的信息
-u 指定用户
traceroute 跟踪网络数据包的发送站点
netstat 显示网络信息
-t 显示 tcp 信息
-u udp 的信息
-l 监听的信息
-r 本机路由的信息
-n ip 和端口信息
# 常用的几个组合
-tlun 本机监听的端口
-an 所有的网络连接
-rn 本机的路由表
setup 图形化界面的配置网络信息
yum -y install setuptool
查看下面的 2.3 汉化显示信息
mount 挂载命令
umount 取消挂载
shutdown
-h 指定时间关机 now 表示立即关机
-r 重启
-c 取消上一个shutdown命令
reboot 重启
init 系统的运行级别 0~6
send -i 's/旧的字符串/新的字符串/' 文件名 # 可以不打开文件的修改文件内容, 也可以修改显示的输出信息
# 比如 cat filename | send 's/[0-9]/\n/g' | grep -v ^$ 将文件里面的数字全部替换
echo "字符内容" >> filename.txt
# 将 字符内容输入到 filename.txt 文件里面
crontab 任务计划
-e 进入设置任务的 vim 页面
-l 查看任务列表
-u 指定用户
# /etc/crontab 全局任务列表
rpm
-q 包名 查询安装软件的版本信息
-l 包名 查询软件安装位置
-a 包名 所有的安装信息
ps 显示进程
-e 显示所有
-f 显示详细信息
# 一般用 ps -ef | grep [服务名] 查询服务进程
kill [进程id] 关闭进程
-9 强制关闭
链接:https://pan.baidu.com/s/1Qr0DzkJ8u6UYfiJo6GA4BQ 提取码:4uf1
一路点击 next 安装即可, 然后新建一个 ssh 链接
或者在 shell 终端使用命令 ssh root@主机 ip 地址
链接
CentOS 默认安装的 python2, 可以用 python --version
查看
在 CentOS 7 中安装 Python3 之前,我们要确保我们的系统具有所有必要的开发依赖关系:
# yum -y groupinstall development
# yum -y install zlib-devel
这会执行大量的命令, 等一下就好了
# wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
# tar xJf Python-3.6.0.tar.xz
# cd Python-3.6.0
# ./configure
# make
# make install
# 将以上命令依次执行, 执行完成就好了, 默认安装在你的 家 目录
which python3
查看 python3 的安装目录
python3 -V
查看版本
进入 python3 的命令是 $ python3
执行 locale -a |grep zh_CN
查看是否主机安装了中文支持的语言包
[root@miya /]# locale -a |grep zh_CN
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
输出是这样的, 则有中文支持. 没有的话, 就运行 yum groupinstall chinese-support
下载中文支持的语言包
下载好了之后需要修改配置文件
Centos7 需要修改的地方是 /etc/locale.conf
文件, 全部删除了, 把下面的复制过去
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
文件的修改, 使用 vim 命令, 百度下怎么修改
使用 shutdown -r
重启 linux
# 使用这个命令会立即生效且重启也生效
[root@centos7 ~]$ hostnamectl set-hostname miyahejuzi
# 查看下
[root@centos7 ~]$ hostname
miyahejuzi
# 刷新显示的名字
[root@centos7 ~]$ su
[root@miyahejuzi ~]#