- 查看手册 man man
- pwd 显示当前工作路径
- cd 切换工作路径
绝对路径 cd /home/alice cd ~alice
相对路径cd .. cd .
4.ls
-a all,查看目录下的所有文件,包括隐藏文件
-l 长列表显示
-i 显示文件的inode号
-d 只列出目录名,不列出其他内容
-h human 以人性化方式显示出来
5.查看文件内容
cat filepath 显示文件全部内容
more filepath 按屏显示
less filepath 按屏显示
/关键字 搜索
q 退出
head -行数 filepath 显示文件前几行
tail -行数 filepath 显示文件的后几行
6.复制
cp [-r(目录)] srcpath destpath
7.剪切
mv srcpath destpath
8.删除
rm [-r(目录) -f(强制)] filepath
9.创建文件
touch filename 空文件
echo “内容”> filename 往文件中写内容
10.创建目录
mkdir dirname 空目录
11.关机
shutdown -h now
poweroff
init 0
halt
12.重启
shutdown -r now
reboot
init 6
13.history 查看历史命令
文件管理
- 文件属性
stat filepath
ls -l(部分属性)
2.文件类型和权限drwxr-xr-x
(1)文件类型d
不以后缀区分类型
七种文件类型
- regular 普通文件
d directory 目录文件
c charactor 字符设备文件
b block 块设备文件
l link 符号链接文件
p pipe 管道文件
s socket 套接字文件
(2)文件权限rwxr-xr-x
拥有者 所属组 其他用户
u g o a(all)
前三位表示拥有者权限
中三位表示所属组权限
后三位表示其他用户权限
八进制 0开头
十六进制 0x开头
有1既有权限,有0既没权限
1表示:rwx(有顺序性)
0 表示:-
修改文件权限:
chmod u/g/o/a (+ -)r/w/x filepath
chmod 0666 filepath
修改文件的拥有者和所属组
chown user:group filepath
文件:
r 只读
w 写
x 可执行
目录:
r 能够读取ls
w 能创建删除文件touch / mkdir / rm
x 是否能搜索,可进入 cd
防止产生权限过大的文件:
umask
mode & ~umask === 文件真正的权限
特殊权限
u+s 所有有此权限的执行文件,可以使普通用户在执行此命令期间,将身份切换为文件拥有者
3.硬链接和软连接
(1)硬链接:同一个文件,多一个名字
2表示文件的硬链接个数
inode是同一个分区文件的唯一标识
所以硬链接文件不能跨分区
ln srcpath dest
cp -l srcpath dest
(2)符号链接(软链接): 就是一个快捷方式,存储是源文件的路径
可以跨分区
ln -s srcpath dest
cp -s srcpath dest
4.文件拥有者和所属组
创建用户useradd username
给定密码passwd username
指定组 -g
~表示当前用户的家目录
切换用户su – username
删除用户userdel -r username
登出用户exit
用户信息:/etc/passwd
组信息:/etc/group
密码:/etc/shadow
组创建groupadd groupname
组删除groupdel groupname
用户添加到组内:gpasswd -a user group
用户从组中删除:gpasswd -d user group
5.文件大小
文件的大小(size) != 所占磁盘空间的大小(block)
stat filepath 占磁盘大小(看块数)
一块block == 512bytes
du -sh filepath 查看filepath对应的文件所占用磁盘空间的大小
不加s是查看目录下各文件大小
df -h 查看磁盘分区占用情况
6.文件时间
access time 最后一次访问时间
modify time 最后一次内容改变
change time 最后一次属性改变
7.文件的查找
可执行文件:
which cmd
whereis cmd
非可执行:
遍历数据库 locate filepath
更新数据库 updatedb
find(遍历磁盘空间):
-name 按名字找
find /etc/ -name "passwd"
-size 按文件大小查找
find /etc/ -size n(b/c/k)
-perm 按权限查找
-type c(文件类型)
find /etc/ -type f/d/c/b/p/l/s
f 表示普通文件
-maxdepth 按深度查找
-mtime 按修改时间查找
find /etc/ -mtime n(天)
+1(1天以前)
-1(1天以内)
-mmin 按分钟查找
-empty 查找空文件
-exec 对于查找到的结果执行
find /etc/ -name "hello" -exec ls -l {} ;
只对找到的文件执行ls -l结果,不打印路径
-ok
find /etc/ -name "hello" -ok ls -l {} ;
在执行ls -l之前会询问
-print 打印查找的结果
find /etc/ -name "hello" -print -exec ls -l {} ;
对找到的文件执行ls -l结果,打印路径
-a 连接多个查找选项的
find /etc/ -type d -a -size +10k
ll -h 带单位
看目录加 -d
8.文件的打包压缩
压缩:
.gz .bz2 .zip
gzip file 压缩为.gz
gunzip file.gz 解压缩
bzip2 file
bunzip2 file.bz2
zip xxx.zip file dir1 dir2
unzip xxxzip
主要tar options xx.tar.xx file1.... dir.....
options:
-c 创建
-v 过程可视
-f 在最后,后跟包名
-j 生成bz2压缩格式
-z 生成gz格式压缩文件
-J 生成xz格式
-x 解压缩
-C 指定解压路径
-t 不解压不解包的情况下查看压缩包中内容
-r 向包中追加新文件
*表示当前路径下所有文件
解压缩 tar -xf 压缩包名
查看压缩包 tar -tvf 压缩包名
向包中追加文件 tar -rvf xxx.tar filename
单独拿出一份 tar -xvf 压缩包名 filename
9.文件重定向
当用户登陆成功后,三个文件依次打开:
标准输入(stdin 0)
标准输出(stdout 1)
标准错误输出(stderr 2)
0< 标准输入重定向
1> 标准输出重定向
2> 标准错误输出重定向
>> 追加
10. 文件统计和筛选
| 管道
ls -l /etc/ | wc -l 统计文件
wc [-lwc] filepath
-l文件的行数
-w单词个数
-c字符个数
grep [-iwn] 关键字 filepath 筛选文件内容
-n 行数
-i 忽略大小写
-w 精确查找
11. vim编辑器的使用:
vim filepath 打开文件
一般模式下:
yy 复制(复制几行在y前面加数字几)
p 粘贴(下一行) 大写的 P(上一行)
dd 剪切(剪切几行在d前面加数字几)
u 撤销
Ctrl+r 还原
x从光标向后删除
X 从光标向前删除
r 替换
R 一直替换到Esc为止
块选择:ctrl+v 方向键选择
I / A 插入相应内容 Esc Esc
gg 首行
G 末行
5G 第5行
w/W按单词阅读
一般模式进入命令模式(:)
进入编辑模式:
i 光标前 I行首
a光标后 A行末
o光标下一行插入 O光标上一行插入
s删除光标位置 S删除光标所在行
退出编辑模式进入一般模式:ESC 或ctrl+c
命令行模式:
:w 保存
:q 退出
:wq保存并退出
:q! 强制退出
:/关键字 搜索
:w filepath 文件另存为
:saveas filepath 另存为
:x相当于wq
:X设置密码
:%s/oldstring/newstring/g 将所有的oldstring替换为newstring
:2,5s/oldstring/newstring/g 将第2行到第5行oldstring替换为newstring
: set number(nu) 显示行号
:set ts=4 将Tab设置为4个字符宽度
软件包管理
源码包(.tar.gz .tar.bz2 .tar.xz)
下载并解压解包
编译make
make install
二进制包(.rpm)
yum 安装:/etc/yum.repos.d/xxx.repo
yum install xxxx
例如有如下软件包:
coreutils-8.22-21.el7.x86_64.rpm
coreutils包名
yum install coreutils 安装
yum remove coreutils 卸载
yum repolist 查看仓库中有多少软件包
yum list 列出所有的软件包
Base 源
Update 更新
Extras其他的
wget 远程下载
baseurl + 源地址
gpakey 官方验证
-y所有询问都是yes
yum provides /usr/bin/ls 查看文件对应的软件包
yum update coreutils 更新
yum clean all 清除缓存
软件包所在位置/etc/yum.repos.d
yum源所在路径/etc/yum.repos.d/xxx.repo
本地yum源配置:
ls /mnt/
ls /dev/cdrom
mount 用于挂载
umount 卸载
ls /mnt/centos7/packages
1.将镜像文件挂载到文件系统
2.创建镜像的挂载点 mkdir /mnt/centos7
3.光盘镜像在/dev/cdrom目录
4.挂载光盘镜像
mount -t iso9660 -o loop /dev/cdrom /mnt/centos7
5.配置镜像的yum源
vim /etc/yum.repos.d/my.repo
[local_centos7]
name=centos7
baseurl=file:///mnt/centos7
enabled=1
gpgcheck=0
已下载的rpm软件包,安装:
rpm -ivh 包名 安装已下载的rpm包
-q查询
-U 更新
-e 卸载
-qa 查询系统中所有已安装的rpm包
-qf /usr/bin/ls 查询ls对应的软件包
nodeps 不检查依赖性
网络管理
查看ip, mac, netmask....:
ip addr
ifconfig
回环测试:
ping 127.0.0.1
只显示ens33:
ifconfig ens33
查看路由表:
ip route
systemctl status服务名字 查看服务
start 启动服务
restart 重启服务
stop 停止服务
enable 自启动服务
disable 禁用服务
手动配置静态ip地址
关闭NetworkManager
systemctl stop NetworkManager
配置/etc/sysconfig/network-scripts/ifcfg-xxx
DEVICE=eth0
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
TYPE=Ethernet
IPADDR=172.16.60.1
PREFIX=24
GATEWAY=172.16.60.254
重启网络服务
systemctl restart network
防火墙
关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
vsftpd服务 文件共享
安装:yum install vsftpd
启动:systemctl start vsftpd
开机自启动:systemctl enable vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
访问共享目录:cd /var/ftp/pub
lftp 远程访问
安装:yum install lftp
lftp ip地址
lcd 切换下载路径
get filepath 下载非目录文件
mirror filepath 下载目录文件
by 退出
nfs远程挂载
安装:yum install nfs-utils rpcbind
启动:
systemctl start nfs
systemctl enable nfs
systemctl start rpcbind
systemctl enable rpcbind
编辑共享路径:
vim /etc/exports
/var/ftp/pub *(ro,sync,no_root_squash)
ro 只读
sync 同步
showmount -e 共享目录
客户端挂载:
mount 192.168.5.129:/var/ftp/pub /mnt
no_root _squash 不压制root权限
进程管理
ps aux 查看进程信息
kill 信号 进程号 结束进程
kill -l查看所有的信号
kill -9 3333 发送9号信号给进程号为3333的进程
man 7 signal 信号页
top 实时查看系统中进程的运行状态
q表示退出
S表示可中断的睡眠态
Z表示僵尸进程(Zombie)
创建pyenv虚拟环境
sudo yum install openssl* 安装其所需要的库文件
git clone https://github.com/yyuu/pyenv.git ~/.pyenv 下载pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo 'eval "$(pyenv init -)"' >> ~/.bash_profile
exec $SHELL 重启终端运行的程序(shell)
source ~/.bash_profile 重新加载配置文件.bash_profile
pyenv install --list 列出所有我们可以通过pyenv安装的python版本
pyenv install -v 3.6.4 用pyenv命令安装python3.6.4
pyenv versions 查看当前系统中所有的python版本
pyenv version 查看当前所使用的版本
pyenv global 3.6.4 将使用版本切换到3.6.4
pyenv version
python
如果成功了 重启计算机
git的基本使用
1.创建仓库
登录github账号,创建远程仓库 xxx
同步到本地
ssh -keygen
cat ~.ssh/id_rsa.pub 将密钥复制到账号的key中
git clone git@github.com:自己的账号名/xxx.git
git 的命令
git add filename 追踪文件
git status 查看仓库状态
git commit -m "备注" 提交到仓库
git push 上传到远程仓库
git pull 下载到本地仓库
git log 查看仓库日志
git reset --hard id 切换到指定版本
git reflog 最新版日志
git rm 删除
HEAD^ (^表示上一个版本)