Liunx基础笔记
liunx中的基本命令
本阶段的学习我有疑问的地方:
1.在文件的重定向方面
2.软件包的管理方面
给老师的一段话:
希望老师今后多多照顾我们这些调皮的孩子们,给与我们学习上的帮助。但老师也要注意自己的身体,注意肚子里的小baby。祝愿老师工作顺利,身体健康。
liunx中的基本命令:
命令的组成由:cmd [option] [args]
查看帮助文档:man 命令
<1>pwd 显示当前的路径
<2>文件的路径分为两种:1.绝对路径 2.相对路径
在liunx中文件的系统的结构是从/开始,绝对路径:路径是从/开始算。相对路径:从当前路径开始算起。(.当前所在的位置的路径 ..上一级路径)。
<3>ls 列出目录下的文件
ls option:
-a: 列出文件下所有的文件,包括以“.“开头的隐藏文件(linux下文件隐藏文件是以.开头的,如果存在..代表存在着父目录)。
-l:列出文件的详细信息,如创建者,创建时间,文件的读写权限列表等等。
-i: 列出文件的inode号。
-d:配合 -i使用(显示本身的inode号)-l使用(显示本身的信息)
-h:配合 -i使用(显示本身下的inode号)-l使用(显示本身下的文件或文件夹的信息)
<4>查看文件内容
cat filepath(文件的路径)显示文件的全部内容。
less filepath(文件的路径)按屏显示文件的内容。/key可以按值进行搜索(按q退出搜索)
head -n行数 filepath 显示文件的前n行的内容。
tail -n行数 filepath 显示文件的后n行的内用。
<5>复制
cp[-r (目录)] srcpath(需要要复制的文件的路径)destpath(目的的的路径)
<6>剪切
mv srcpath(需要要复制的文件的路径)destpath(目的的的路径)
<7>删除文件或目录
rm[-r(目录)-f(强制删除,不会出提示)] filepath(加路径)。
<8>创建文件
touch filename(文件的名字)
<9>创建目录
mkdir dirname(目录的名字)
<10>用命令关机
shutdown -h now
poweroff
init 0
halt
<11>用命令重启
shutdown -r now
reboot
init 6
<12>查看自己输入的历史命令
history
文件管理
文件的属性(元信息)
stat filepath(查看文件的信息)
ls -l (部分显示)
drwxr-xr-x. 3 root root 18 11月 30 12:25 abcd
文件的类型
liunx中有七中文件类型
- ·regular 普通文件
d directory 目录文件
c charactor 字符设备文件
b block 块设备文件
l link 符号链接文件
p pipe 管道文件
s socket 套接字文件
文件权限 rwxr-xr-
r(读) w(读) x(执行)
拥有者(u) 所属组(g) 其他用户(o)
a(all)
修改文件权限:
1. chomd u/g/o/a (+ -) r/w/x filepath
2.采用八进制数进行文件权限的修改
chomd o666 filepath (666: 110 110 110 rw-rw-rw-)
修改文件的拥有者和所属组
chown user:group filepath
目录文件:
r ls (列出)
w touch / mkdir /rm (创建或删除)
x cd (搜索可进入)
防止产生权限过大的文件:
umask(得到文件的屏蔽字)
特殊权限
u+s 所有由此权限的执行的文件,可以使普通用户在执行此命令期间,将什么切换成文件的拥有者。
文件的硬链接个数:
硬链接:同一个文件,多个名字,但inode号是一样的。硬链接不能跨分区。
建立硬链接的方法:
ln srcpath dest
cp -l srcpath dest
符号链接(软链接):也就是快捷方式,符号链接的文件就是存放的源文件的路径。可以跨分区。
建立符号链接的方法:
ln -s srcpath dest
cp -l srcpath dest
文件的拥有者和所属组:
创建用户:useradd username
给定密码:passwd username
切换用户:su - username
删除用户: userdel -r username
登出:exit
创建组: groupadd groupname
删除组: groupdel groupname
用户添加到组内: gpasswd -a user group
用户从组内删除: gpasswd -d user group
文件大小
文件的大小(size)不等于所占磁盘空间的大小(block)
sata filepath
block(块)==512bytes
· du -sh filepath 查看对应的文件所占磁盘空间的大小
df -h 产看磁盘分区的占用情况
文件的查找:
可执行文件:
which cmd
whereis cmd
非可执行文件:
遍历数据库: locate filepath
更新数据库: updatedb
find(遍历磁盘空间)
find path options
options:
-name 按名字查找
find /etc/ -name "passwd"
-size 按文件的大小查找
find /etc/ -size n(b/c/k)
-mtime:按修改的时间查找
find /etc/ -mtime (+ -)n (+代表n天以前,-带边n天以内)
-type :按类型查找
find /etc/ -type f/d/c/b/p/l/s
f 普通文件
d 目录文件
c 字符设备文件
b 块设备文件
p 管道文件
l 符号链接文件
s 套接字文件
-exec:对于查找到的结果执行
find /etc/ -name "hello" -exec ls -l {} \;
-ok:在执行ls -l之前进行询问
find /etc/ -name "hello" -ok -exec ls -l {} \;
-print:打印查找的结构
find /etc/ -name "hello" -print -exec ls -l {} \;
-a:连接多个需要查找的条件
find /etc/ -size +10k -a -type b
文件的打包压缩
压缩:
.gz .bz2 .zip
gzip file 压缩为.gz
gunzip file.gz 解压缩
bzip2 file
bunzip2 file.bz2
zip xxx.zip file dir1 dir2
unzip xxxzip
主要有 tar option xx.tar.xx file1....dir....
options:
-c 创建
-v 过程可视
-f 在最后,后跟包名
-j bz2压缩格式
-z 生成gz格式压缩文件
-J 生成xz格式
-x 解压缩
-C 指定解压路径
-t 不解压不解包的情况下查看压缩包中的内容
-r 向包中追加新的文件
文件重定向:
当用户登录成功后,三个文件依次打开:
标准输入(stdin 0) 标准输出(stdou 1) 标准错误输出(stderr 2)
0< 标准输入重定向
1> 标准输出重定向
2> 标准错误输出重定向
>> 追加
| 管道
wc [-lwc] filepath
-l line 统计 filepath 文件的函数
-w word 单词个数
-c charactor 字符个数
grep [-i w n] key filepath 筛选文件的内容
[-i -w -n]为筛选条件
i 大小全部显示
w 精确查找
n 显示满足内容的行号
vim 编辑器的使用
vim filepath ----->打开----->一般模式
进入编辑模式进行编辑(iI aA oO sS)
i:光标前插入
I: 行首插入
A: 行尾插入
a: 光标后插入
O:上一行
o: 下一行
S:删除一行插入
s:删除一个字符插入
从编辑模式进入一般模式(Esc /Crtl +c)
从一般模式进入命令行模式(w保存 q退出)
在一般模式下进行的操作
nyy:复制n行
p:粘贴,光标下一行
P:粘贴,光标上一行
ndd:剪切n行
v: 撤销操作
Ctrl +r 还原操作
x:光标后删除
X:光标前删除
r:替换一个字符
R:开启替换模式 按Esc退出
Ctrl +c 加方向键选择:块选择,进行整体的替换或添加
gg :首行
G:末行
nG:表示第n行
/ :进行搜索
命令行模式下:
:w 保存
:q 退出
:q! 强制退出
:w filepath 另存为
:save as filepath
set ts=number 设置tab宽度
set number 显示行号
%s oldstring/newstring /g:所有oldstring替换为newstring
n,n oldstring/newstring /g 从第几行到第几行oldstring替换为newstring
软件包管理:
源码包
.tar.gz .tar.bz2 .tar.xz
<1> 下载并解压解包
<2>编译make
<3>make install
二进制包(.rpm)
yum安装:
/etc/yum.repo.d/xxx.repo
yum install xxxx
列如有如下的软件包
coreutils-8.22-21.e17.x86_64.rpm
coreutils包名
yum install 包名 安装
yum remove 包名 卸载
yum repolist 查看仓库中有多少软件包
yum list 列出所有的软甲包
yum provides /usr/bin/ls 查看文件对应的软件包
yum update 包名 更新包
yum clean all 清除缓存
yum源所在的路径
etc/yum.repos.d/xxx.repo
本地yum源的配置
1.将镜像文件挂载到文件系统
2.创建镜像的挂载点 mkdir /mnt/centos 7
3.光盘镜像在 /dev/cdrom目录
4.挂载光盘镜像
mount -t iso9660 -o loop /dev/cdrom /mnt/centos7/
mount -o iso9660 /dev/cdrom /mnt/centos7/
5.配置镜像yum源
vim /etc/yum.repos.d/myrepo
[local_centos7]
name=centos7
baseurl=file:///mnt/centos7
enabled=1
gpgcheck=0
已下载的rpm软件包的安装:
xxx.rpm
rpm -ivh xxxx 安装已下载的安装包
rpm -e xxxx 进行卸载
rpm -U xxx 进行更新
rpm -qa 查询系统中 所有已经安装的rpm包
rpm -qf /usr/bin/ls 查询ls对应的软件包
rpm -nodeps 不检查依懒性
网络管理
1.查看 IP地址,mac(物理地址) netmask
ip addr ifconfig
回环测试 127.0.0.1
ip addr ens33 显示ens33的信息
2.查看/启动/重启/关闭/自启动/禁用服务
systemctl status /start/restart/stop/enable/disable +服务的名字
3.手动配置静态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
4.防火墙
关闭防火墙:systemctl stop firewalld
开机防火墙不启动:systemctl disable firewalld
5.vsftpd------->文件共享服务
安装:yum install vsftpd
启动:systemctl start vsftpd
开机自启动:systemctl enable vsftpd
配置文件:/etc/vsftpd/vsftpd.conf
访问共享目录:
下载安装:yum install lftp
lftp 加ip地址
lcd--->切换下载路径
get filepath 下载非目录文件
mirror filepath 下载目录文件
bye 退出
6.nfs 远程挂载
下载安装:
yum install nfs-utils rpcbind
启动:
systemctl start nfs
systemctl enable nfs
编辑共享路径:
vim /etc/exports
/var/ftp /pub *(ro,sync,no_root_squash)
客户端挂载:
mount 192.168.5.129:/var/ftp/pub /mnt
进程管理:
查看进程信息:
ps aux
终止进程通过kill发送信号:
kill -l
杀死进程的最高命令是kill -9
top 实时查看系统中进程的运行状态。
创建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账号,创建远程仓库
同步到本地
生成Key:
ssh-keygen
cat ~/.ssh/id_rsa.pub将密钥复制到账号的key
git clone git@github.com:FpydeGitHub/python.txt.git
python.txt 本地仓库
git基本命令:
git add 追踪
git commit -m 备注 提交到仓库
git push 提交到远程仓库
git pull 下载到本地仓库
git status 查看仓库日志
git reset--hard ---id--->切换到指定版本
git reflog 查看最新版本日志
git rm 删除