Linux笔记

Linux

基本命令

一个工具finaldata - 找回数据
history - 看之前敲过哪些命令
history -c : 清除历史记录
who - 常看当前连接到的用户有哪些
whoami - 看自己是谁
last:看谁登陆过系统
lasb - 看最近谁想尝试连接本服务器未成功
w : 查看谁登录上来,并且能够知道他所占有的资源
cal - 查看日历,当前月份
cal 2018 : 看2018年全年的日历
cal 8 2018 : 看2018年8月的日历
man :查看命令的使用方法
whatis: 命令的简短说明
whereis : 命令的位置
比如:man whatis - 查看whatis 的用法
whereis : 查找东西的位置
whatis --help : 查找whatis的相关信息,获取帮助
wget : 一个内置的下载器
例如:wget http:// www.baidu.com -O baidu.html(重新命名为baidu.html)
cat 文件名 -n :查看文件内容 -n 显示行号
tac 文件名 : 反向查看文件
head - 查看文件的开头
tail :查看文件的结尾
more/less : 分页查看内容
shutdown : 关服务器
shutdown -r : 重启服务器
shutdown -c : 取消关机
init6:关机(分为1~6个等级)
Tab :命令或路径补全

文件相关命令

pwd :查看当前所在目录
cd:切换目录
ls:列出文件夹下的内容
绝对路径:以~开头
相对路径:以当前路径作为基准
ls -l : 长格式查看(显示详细信息)
ls -a : 显示所有文件(包括隐藏文件)
ls -al : 显示所有且长格式查看
ls -R : 递归展示
ctrl + w : 删掉一部分命令内容
ctrl + u : 删除写的所有内容
ctrl + a : 光标移动到行首
ctrl + e : 光标移动到行尾
touch : 创建一个空文件或修改文件的最后访问时间
mkdir : 创建一个文件夹
mkdir -p hello/goodbye : 创建一个goodbye的文件及,如果没有父文件夹就创建一个hello的父文件夹
mkdir -v hello/goodbye : 创建一个hello文件夹,再在下面创建一个goodbye的文件夹
rmdir : 删除空文件夹
rm : 删除文件或文件夹
-i:交互式删除
-f: 强制删除,不询问
-r:递归式删除(删文件夹)
cp : 拷贝文件或文件夹
-r 递归式的拷贝 用于拷贝文件夹
mv:移动文件夹,相当于剪切
同一个文件目录下移动,相当于给文件改名字
file:查看文件的文件性质
od:查看二进制文件的数据
wc:统计字符单词数行数

xz格式的压缩文件解压缩:xz -d 文件名
tgz格式的解压缩:gunzip
压缩一个文件: xz -z 文件名
解归档的命令 : tar -xvf 文件名
创建归档:tar -cfv 文件名
文件夹etc中是一些配置相关文件

DNS - 域名服务(Internet的电话簿)
域名 ---> IP地址

Web服务器软件 - Apache/Nginx
nginx: 启动nginx服务器(不推荐这种方法)
nginx -s stop : 关闭服务器
CentOS6 / Ubuntu下用这些命令
service nginx start
service nginx stop
CentOS 7 用这些命令
systemctl start nginx : 启动服务
systemctl stop nginx:停止服务
systemctl restart nginx:重启服务
systemctl status nginx:查看状态
systemctl enable nginx:开机自启
systemctl disable nginx:取消开机自启

Linux安软件:
yum:CentOS的包管理工具
1.包管理工具 - yum / rpm / apt(ubuntu下的)
2.源代码构件安装 - 从官方下载源代码编译安装
3.下载解压缩配置环境变量直接用
yum upgrade:更新软件
yum search: 查找
yum erase / yum remove : 卸载
yum info gcc : 查看gcc的相关信息
yum list installed : 已安装的软件

安装Python3环境的步骤
1.下载 :wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
2.解压缩解归档
3.切换到Python源代码文件夹
4.补充安装依赖项(C语言的库)
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
5.构建前的配置(生成构建文件Makefile)
./configure --prefix=/usr/local/python37 --enable-optimizations
6.执行构建安装
make && makeinstall
7.配置环境变量
vim .bash_profile
PATH
执行 source .bash_profile

Vim的使用

命令模式:
h / j / k / l - 移动光标
gg / G / 100G - 移动光标到首行/末行/指定行
0 / $ - 移动光标到行首/行尾
w - 光标移动到下一个单词
Ctrl+y / Ctrl+e - 向上翻一行/向下翻一行
Ctrl+b / Ctrl+f - 向上翻一页/向下翻一页
Ctrl+s / Ctrl+q - 锁定屏幕 / 解锁屏幕
u / Ctrl+r / . - 撤销 / 恢复 / 重复上一个命令

dd / d0 / d$ / dw - 删除整行/删到行首/删到行尾/删除一个单词
yy / p - 复制整行/粘贴

ZZ - 保存退出

编辑模式:命令模式下按i或者a可以进入编辑模式
在编辑模式下如果按Esc可以回到命令模式

末行模式:命令模式下按:可以进入末行模式
q / q!- 退出 / 强制退出(不保存)
wq - 保存退出
set nu / set nonu - 显示行号 / 不显示行号
syntax on / syntax off - 启动高亮语法 / 禁用高亮语法
set ts=4 - 设置制表键的空格数为4
set autoindent - 设置启用自动缩进
末行模式下sp : 水平拆分
末行模式下vs: 垂直拆分
末行模式下b 2:进入第二个文件
末行模式下ls : 查看这些打开的文件
末行模式里! 加 系统命令,可以执行系统命令
/搜索的内容 : 从上往下搜索
?搜索的内容:从下往上搜索
n / N : 搜索下一处 / 搜索上一处
:1,s/id/emp_id/gcie -
把id换成emp_id
g : 全局替换
c : 替换前要确认
i : 忽略大小写
e :替换时遇到错误直接忽略

如果希望一个命令/程序在任意路径下都可以执行
那么需要将该命令所在的路径注册到PATH环境变量中

创建符号链接(相当于Windows系统的快捷方式)
ln -s /usr/local/python37/bin/python3 /usr/bin/python3

修改文件的权限
chmod u+x,g+x,o+x / chmod 755
chmod o-x

ls -l

  • rwx r-x r-x
    d
    l
    r - read - 读权限
    w - write - 写权限
    x - execute - 执行权限
    在Python文件的第一行写如下命令:
    "#!/usr/bin/python3"

版本控制 - git(实施分布式版本控制的工具)

wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.22.0.tar.xz
解压缩解归档
补包:yum install libcurl-devel (联网功能)
./configure --prefix=/usr/local (指定安装路径)
make && make install (构建安装)

使用git实施版本控制
git init : 创建版本控制的仓库
git add :将文件放在版本控制的缓存区
git status : 查看版本控制的状态
git commit -m '提交原因':提交到版本仓库
git log : 查看版本日志
git checkedout : 用缓存区恢复工作区的内容
git reset HEAD : 撤销暂存区内容
git reset --hard HEAD^ : 回退到上一个版本
git reset --hard HEAD <版本号> : 回退到指定的版本
git clone code - 克隆服务器的代码到本地并更名为code

git remote add origin : 指定服务器
git push -u origin master : 上推(第一次上推才用加上后面那坨)
git pull -u origin master : 下拉(第一次下拉才用加上后面那坨)

git clone code: 克隆代码 (把克隆下来的更名为code)

你可能感兴趣的:(Linux笔记)