Linux和git指令

git常用指令

1.基本指令

git init       —— 新建git仓库
git add 文件/文件夹       —— 将文件添加到缓存区中
git add -A       --- 添加所有内容到缓存区中
git stutas      ——— 查看git状态
git commit -m ‘提交信息’      —— 将缓存区中的内容全部提交到git本地仓库中

git log      ——- 查看提交日志

git reset - - hard HEAD      —— 让工作目录中的内容和仓库中的内容保持一致
git reset --hard HEAD^      —— 回到上一个版本
git reset - - hard 版本号      —— 回到指定的版本
git checkout - - 文件名       —— 从暂存区中恢复工作目录中的内容(让工作区中的指定文件,回到上次提交的时候的状态)

git clone <url> - 将服务器上的项目(仓库)克隆 (使用https地址需要输入密码,使用ssh地址需要添加公钥)

git remote add origin 地址      ----- 关联远程仓库(只需要关联一次)

git push [-u] origin master      ----- 提交(-u在第一次提交分之的时候才用)

2.分之管理

创建仓库会默认给我们创建一个master分之,这个分之一般作为提交和发布分之;开发一般会自己创建一个develop分之,用来开发和测试;多人协作的时候还可能根据不同的人或者(不同的功能)创建不同的分之,用来独立开发

常见分之: master(主要是合并develop), develop(主要合并下面的其他分支), 功能/人员分之(开发)

git branch [-a]       - 查看分之
git branch 分之名      - 创建分之
git checkout 分支名      - 切换分之
git checkout -b 分之名       - 切换并创建新的分之
git diff 分之1 分之2      - 查看两个分之之间的差异
git merge 分之名      - 让当前分之和指定分之进行合并

注意: 切换分之、push、pull,这些操作前要保证工作区是clean

怎么避免冲突: 不要发生多个分之对同一个文件在同一个版本下进行修改(和同伴确认和商量)

Nginx服务器安装

Nginx服务器

1.阿里云添加80端口

阿里云上默认只有一个22端口用来做远程登录,如果希望在阿里云上安装支持http请求的nginx服务器,需要给阿里云添加80端口

[图片上传失败...(image-678978-1545314303686)]
[图片上传失败...(image-a8c0d3-1545314303686)]
[图片上传失败...(image-4bae7f-1545314303686)]
[图片上传失败...(image-77b203-1545314303686)]

2. 安装nginx

a) 添加nginx存储库

    yum install epel-release

b) 安装nginx

    yum install nginx

c) 运行nginx
Nginx不会自行启动。要运行Nginx

    systemctl start nginx

nginx的运行命令:

    systemctl status nginx 查看nginx的状态  
    systemctl start/stop/enable/disable nginx 启动/关闭/设置开机启动/禁止开机启动  

d) 系统启动时启动Nginx

    systemctl enable nginx

e)如果您正在运行防火墙,请运行以下命令以允许HTTP和HTTPS通信:

    sudo firewall-cmd --permanent --zone=public --add-service=http 

    sudo firewall-cmd --permanent --zone=public --add-service=https

    sudo firewall-cmd --reload

3.nginx目录共享配置

a) 在contOS目录中确定一个需要共享的文件夹,例如: /home/yuting
b) 打开 etc/nginx/nginx.conf 文件,设置server

    #共享设置 - 在浏览器中输入服务器ip地址,会展示共享目录的文件列表
    root /home/yuting;
    location / {
           autoindex on;
           autoindex_exact_size on;
           autoindex_localtime on;
    }  

除了可以共享文件,还可以自定义页面

    #自定义服务器页面
    location / {
            root /home/yuting;
            index index.html index.htm;
    }

注意: 如果出现权限问题,可以修改目录的权限

ssh密钥认证

1.在主机和从机上执行:ssh-keygen

2.在从机上执行: scp id_rsa.pub root@主机地址:~/.ssh/master.pub
(上面这条指令是将从机上的 id_rsa.pub文件拷贝传递给到主机的.ssh文件夹下,并且命名为’master.pub’)

3.在主机中的.ssh文件夹中创建authorized_keys文件: touch authorized_keys

4.修改文件authorized_keys的权限: chmod 600 authorized_keys

5.将master.pub放进authorized_keys文件中: cat master.pub >> authorized_keys

6.在操作主机的时候,需要主机能够自己免密访问自己就将自己的公钥放在自己的authorized_keys文件中

Linux 指令

Linux指令系统:

命令名称 [命名参数] [命令对象]

一、日常操作
1.cd指令 - 进入指定文件夹
cd 目录 - 进入指定目录(也可以是文件夹对应的路径)
~相对路径 — 绝对路径

cd .. - 返回上层目录
cd ~ - 回到根目录

  1. ls指令 - 查看当前目录中的内容
    ls
    ls -l/-lh
    ls -a - 隐藏文件也一起显示
    ls -R - 递归显示所有内容
    ls -S/-t - 按大小/时间排序

3.pwd指令 - 显示当前完整目录
pwd

4.文件操作指令
touch 文件名 - 新建文件
cat 文件名 - 查看文件内容

rm 文件名 - 删除文件
rm - r 目录 - 删除文件夹

cp 文件名1 文件名2 - 将文件1中的内容拷贝到文件2中
cp -r 文件名/目录名 目录2 - 将文件/目录拷贝到目录2中

mv 文件名1 文件名2 - 将文件1中的内容移动到文件2中 ,并且删除文件1(文件重命名)
mv 文件名1 文件目录 - 将文件1移动到指定目录中

(注意:cp/mv/rm 后面可以跟: -i询问 -f强制 -n不覆盖)

mkdir 目录名 - 新建文件夹
mkdir -p a/b/c - 按层级创建a,b,c三个文件夹
mkdir -p a/{b,c}/{d,e,f} -同一层级常见多个

rmdir 目录名 - 删除指定空目录

7.history - 显示历史指令记录
bashrc 配置显示时间:export HISTTIMEFORMAT="[%y‐%m‐%d_%T] "
修改bashrc 后使其生效: source ~/.bashrc 或 . .bashrc

6.链接
ln -s 源路径 目标路径 - 给源路径对应的文件在目标路径下创建一个软链接(可以看成是快捷键)(源路径是绝对路径)
ln 源路径 目标路径 - 给源路径对应的文件在目标路径下创建一个硬链接

8.快捷键
ctr + f - 前进一个字符
ctr + b - 后退一个字符
ctr + a - 回到行首
ctr + e - 回到行尾
ctr + w - 向左删除一个单词
ctr + u - 向左删除全部
ctr + k - 向右删除全部
ctr + y - 粘贴上次删除的内容
ctr + l - 清屏

二、进程相关指令
1.ps指令
ps - 进程状态
ps -aux 或者 ps ex - 查看进程
ps -aux|grep 进程名 - 查看指定进程
psgrep 进程名

2.top指令
top - 动态监控进程
top -p PID1,PID2,…. - 动态监控指定进程

3.free指令
free -单位 - 以指定单位查看内存

4.kill指令

kill 进程号 - 杀死指定的进程
kill -1/-9/-15 - -1(HUP)不间断重启,-9(KILL)强制杀死进程,-15(TERM)正常终止进程
pkill 进程名 - 按名字处理进程
killall 进程名 - 处理名字匹配的进程

uptime - 查看系统状态

三、权限管理
1.user和group : 一个系统可以有多个用户和多个分组; 一个分组中可以有多个用户,一个用户在不同的分组中(多对多)

users - 查看当前用户
groups - 查看当前分组

groupadd 分组名 - 添加分组

useradd ‐G 分组列表 ‐m ‐s /bin/bash 用户名 - 创建一个用户添加到指定的分组中(在home创建相应的文件夹)

usermod -G 分组列表 用户名 - 修改分组

passwd 用户名 - 修改密码

su - 用户名 - 切换用户身份

sudo - 以管理员执行其他程序
注意: a.在ubuntu需要将用户添加到sudo分组中,才能使用sudo以管理员的身份执行程序
b.在centOS中需要先执行visudo指令进入sudoers文件中在指定的位置添加内容

Allow root to run any commands anywhere

root ALL=(ALL) ALL
xiaoming ALL=(ALL) ALL (自己添加的,xiaoming是用户名)

2.chmod
chmod 权限值 文件 - 修改指定文件的权限

chmod [a,u,g,o][+,-][r,w,x] 文件 - 为指定文件,给所有用户添加相应的权限
(a:所有,u:自己,g:同组,o:其他;
+:添加, -: 取消;
r:读,w:写,x:执行)
chown 用户名 文件 - 改变文件所有者

(权限制是三组二进制值)
self group other
rwx rwx rwx
111 101 001 - 自己读写可执行,同一分组的只读可执行,其他的只可执行
110 100 000

三、日志管理
[图片上传失败...(image-da3f5a-1545314293514)]

1.cat指令
cat 文件 - 查看文件内容

2.查看部分
head -n N 文件 - 查看前N行内容
tail -n N 文件 - 查看后N行内容

less [-N] 文件

  • 按 j 向下
  • 按 k 向上
  • 按 f 向下翻屏
  • 按 b 向上翻屏
  • 按 g 到全文开头
  • 按 G 到全文结尾
  • 按 Q 退出

more [-N] 文件 - 和less差不多,这个是尽可能多,less是尽可能少的加载

4.处理
sort - 排序 (cat 文件 |sort)
uniq - 去重 (cat 文件 |uniq) - 只会去重相邻的重复是数据,一般结合sort一起使用: |sort|uniq
awk ‘{print N}’ - 打印第N列的内容(netstat -natp|awk ‘{print4}’)

history |awk '{print $4}' |sort |uniq ‐c | sort ‐rnk 1 | head ‐n 3 -获取历史指令中,使用最频繁的三个指令

5.统计
wc -c(字符)/-w(单词)/-l(行) 文件

6.查找
grep 查看对象 目录/文件 参数

参数:
-i 忽略大小写
-n 显示行标号
-E 通过正则表达式匹配
-v 忽略字段
-rn 递归查找目录,并打印行号
—include=‘.py’ 仅包含 py文件
—exclude=‘
.js’ 不包含 js 文件

例如:
grep you bb.txt
grep you bb.txt -i
grep you bb.txt -i -n
grep -E '[0-9]+' bb.txt

find DIR -name ‘.xxx’ 找到目录下所有名字匹配的文件
找出文件夹
例:find /tmp/xyz/ ‐perm 0642 ‐size +10k ‐size ‐100k ‐name '
.log'

which 指令 - 精确查找当前可执行的指令
whereis 指令 - 查找所有匹配的命令

四、网络管理

ifconfig 查看网卡状态

netstat -natp - 查看网络连接状态
netstat -natp|grep 端口号 - 查看指定端口的网络连接状态

ping 地址
ping -i 时间 地址
ping -c 次数 地址

telnet ip地址 端口 - 查看远程主机网络连接状况

dig 地址 - 查看DNS
wget 地址 - 下载

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 223,924评论 6 521
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 95,776评论 3 402
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 170,954评论 0 366
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 60,576评论 1 300
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 69,589评论 6 399
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 53,105评论 1 314
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 41,480评论 3 427
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 40,457评论 0 278
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,998评论 1 324
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 39,026评论 3 343
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 41,174评论 1 354
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,812评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,502评论 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,979评论 0 25
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 34,101评论 1 275
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,674评论 3 380
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 46,204评论 2 363

推荐阅读更多精彩内容