码迷,mamicode.com
首页 > 系统相关 > 详细

Linux基础

时间:2018-12-03 16:31:53      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:eset   soc   linux操作系统   vsftpd服务   仓库   python   选项   历史命令   source   

一、 Linux背景
Linux操作系统诞生于1991年,由被誉为“Linux之父”的Linus Benedict Torvalds研发。
二、Linux内一切都是文件。一切没有消息的消息就是最好的消息
三、基础命令学习
1.命令的组成: cmd [options] [args]
2. 手册查看:
man 打开手册 man man --->具体使用命令
3. 命令的展示:(1) pwd 显示当前路径
(2)cd 切换工作路径
Linux文件系统结构从“/”开始
路径从“/”开始算--->是绝对路径
从当前路径开始算--->是相对路径 ./是当前路径 ../是上一级路径
(3)ls 列出目录内容
-a 显示所有文件(前面加点的是隐藏文件)
-l 内容单列输出
-d 将当前路径想其他文件列出来,但不显示内容
-h 文件大小带单位,没有单位以字节形式表示
-i 显示文件ID(同一文件目录下ID唯一)
(4)查看文件内容
cat filepath 显示文件全部内容
less filepath 文件内容按屏显示
/=key 搜索文件内容 按q退出
head -h fielpath 显示文件前h行
tail -h filepath 显示文件后h行
(5)复制
cp [-r(目录)] scrpath 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
四、文件管理
1.文件属性(元信息)
(1)stat filepath 查看详细信息
(2)ls -l 显示部分信息
drwxr-xr-x. 2 root root 6 11月26 12:15 音乐
2.文件类型 d
文件类型不以后缀区分
七种文件类型:
- regular 普通文件
d directory 目录文件
c charactor 字符设备文件

b block 块设备文件
l link 符号链接文件
p pipe 管道文件
s socket 套接字文件


3.文件权限 rwxr-xr-x
目录:r 目录可被读取;w 目录可被查、删、改;x 目录可被搜索和跳转
文件:r 文件可被查看;w 文件可被查、删、改;x 文件可被执行
修改文件权限
<1>chmod u/g/o/a (+ -)r/w/x filepath
<2>chmod 0666 filepath
修改文件的拥有者和所属组
chown user:group filepath


防止产生权限过大的文件
umask 屏蔽字
mode & -umask === 文件真正的权限
特殊权限
u+s---》所有有此权限的执行文件,可以使普通用户在执行此命令期间,将身份切换为文件拥有者
4.文件拥有者 root root
拥有者 所属组 其他用户
u g o a(all)
创建用户useradd username
给定密码passwd username
切换用户su - username
删除用户userdel username
登出用户exit
组的创建groupadd groupname
组的删除groupdel groupname
用户添加到组内gpasswd -a user group
用户从组中删除gpasswd -d user group
用户信息存储在 /etc/passwd
组的信息存储在 /etc/group
密码信息存储在 /etc/shadow
5.文件的硬链接个数 2
硬链接:同一个文件,多一个名字
inode是同一个分区文件的唯一标识
所以硬链接文件不能跨分区
ln srcpath dest
cp -l srcpath dest
符号链接(软链接):
就是一个快捷方式,存储是源文件的路径
可以跨分区
ln -s srcpath dest
cp -s srcpath dest
6.文件的大小 6
文件的大小(size)!=所占磁盘空间的大小
stat filepath
block == 512bytes
du -sh filepath 查看filepath对应的文件所占用磁盘空间的大小
du -h 查看磁盘分区占用情况
7.文件的时间 12:15
accesstime 最后一次访问时间
modify time 最后一次内容改变时间
change time 最后一次属性改变时间
五、文件的查找
可执行文件:
which cmd
whereis cmd
非可执行文件:
遍历数据库 locate filepath
更新数据库 updatedb
find(遍历磁盘空间)
find path options
options:
-name 按名字查找
-type 按类型查找
-size 按文件大小查找
-mitime 按文件修改时间查找(天)
-exec 对于查找到的结果执行

-ok 在执行ls -l之前会询问
-print 打印查找的结果
-a 连接多个查找选项的
六、文件的压缩和打包
压缩:
.gz .bz2 .zip
gzip file 压缩为.gz
gunzip file.gz 解压缩
bzip2 file 压缩为.bz2
bunzip2 file.bz2

解压缩
zip xxx.zip file dir1 dir2 压缩为.zip
unzip xxxzip
解压缩
主要tar options xx.tar.xx file1.... dir.....
options:
-c 创建
-v 过程可视
-f 在最后,后跟包名
-j 生成bz2压缩格式
-z 生成gz格式压缩文件
-J 生成xz格式
-x 解压缩

-C 指定解压路径
-t 不解压不解包的情况下查看压缩包中内容
-r 向包中追加新文件
七、文件重定向
当用户登陆成功后,三个文件依次打开:标准输入(stdin 0)、标准输出(stdout 1)、标准错误输出(stderr 2)
0< 标准输入重定向
1> 标准输出重定向

2> 标准错误输出重定向

>> 追加
| 管道
wc [-lwc] filepath

-l line 统计filepath文件的行数
-w word 单词个数
-c charactor 字符个数


grep [-iwn] key filepath ---->筛选文件内容
-i 不区分key的大小写
-w 精确查找
-n 显示每一个key的行数
八、vim编辑器的使用
vim filepath---->打开编辑器并进入一般模式
一般模式下:
y 复制(2yy 复制2行)
p 粘贴
d 剪切(2dd 剪切2行)
u 撤销
Ctrl+r 还原
x/X 删除光标字符
r 替换
R 一直替换到Esc为止
块选择:
ctrl+v 方向键选择
I / A 插入相应内容--->用Esc Esc来退出

gg 光标跳转到首行的第一个字符
G 光标跳转到末行的第一个字符
5G 光标跳转到第5行的第一个字符
用(iIaAoOsS)进入编辑模式进行编辑
用(Esc / Ctrl+c)从编辑模式进入一般模式
用(:)从一般模式进入命令行模式
命令行模式下:

w 保存
q 退出

q! 强制退出

w filepath/saveas filepath 另存为

set nu 显示行号
set ts=4 将Tab设置为4个字符宽度
%s/oldstring/newstring/g 将所有的oldstring替换为newstring

2,5s/oldstring/newstring/g 将第2行到第5行oldstring替换为newstring
九、软件包管理
源码包(.tar.gz、.tar.bz2、.tar.xz格式)
<1>下载并解压解包
<2>编译make
<3>make install
二进制包(.rpm)

yum 安装:
yum install coreutils 安装
yum remove coreutils 卸载
yum repolist 查看仓库中有多少软件包
yum list 列出所有的软件包

yum provides /usr/bin/ls 查看文件对应的软件包
yum update coreutils 更新
yum clean all 清除缓存
yum源所在路径:/etc/yum.repos.d/xxx.repo
本地yum源配置:
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

已下载的rpm软件包:
rpm -ivh xxxx 安装已下载的rpm包
rpm -e xxxx 卸载
已下载的rpm包
rpm -U xxxx 更新
rpm -qa 查询系统中所有已安装的rpm包

rpm -qf /usr/bin/ls 查询ls对应的软件包
十、网络管理
<1>查看ip, mac,netmask
ip addr
/ifconfig
<2>查看/启动/重启/关闭/自启动/禁用服务
systemctl status/start/restart/stop/enable/disable 服务名字

<3>手动配置静态ip地址
关闭NetworkManager systemctl stop NetworkManager

配置/etc/sysconfig/network-scripts/ifcfg-xxx

DEVICE=eth0

BOOTPROTO=none
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 192.168.5.129

lcd 切换下载路径
get filepath 下载非目录文件
mirror filepath 下载目录文件

bye 退出
<6>nfs远程挂载
下载安装:
yum install nfs-utils rpcbind

启动nfs服务 systemctl start nfs
开机自启动nfs服务 systemctl enable nfs
启动rpcbind服务 systemctl start rpcbind
开机自启动rpcbind服务 systemctl enable rpcbind

编辑共享路径 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 3333 发送9信号给进程号位3333的进程
top 实时查看系统中进程的运行状态
十二、git的基本使用
1、创建仓库
登录github账号,创建远程仓库
同步到本地:
先生成key:
ssh-keygen
cat ~/.ssh/id_rsa.pub 将密钥复制到帐号的key
git clone git@github.com:zhangzongyan/python20181119.git克隆远程仓库内容到本地
2、git的基本使用命令
git add .---->追踪
git commit -m "备注" ---->提交到仓库
git push ---->提交到远程仓库
git pull ---->下载到本地仓库
git status ---->查看仓库状态
git log ----->查看仓库日志(id)
git reset --hard id ----->切换到指定版本
git reflog ----->查看最新版本日志
git rm ----->删除
十三、创建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
重启终端运行的程序(shell) exec $SHELL
重新加载配置文件.bash_profile source ~/.bash_profile
列出所有我们可以通过pyenv安装的python版本 pyenv install --list
用pyenv命令安装python3.6.4 pyenv install -v 3.6.4
查看当前系统中所有的python版本 pyenv versions
查看当前所使用的版本 pyenv version
将使用版本切换到3.6.4 pyenv global 3.6.4
重新查看当前所使用的版本 pyenv version
python
重新启动计算机

Linux基础

标签:eset   soc   linux操作系统   vsftpd服务   仓库   python   选项   历史命令   source   

原文地址:https://www.cnblogs.com/chengxiaogang/p/10058987.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!