为什么后端程序员要会linux,后端程序员必会经常使用Linux命令总结

1. 调整终端窗口大小: ctrl + '-'  缩小, ctrl + shift + '='  放大。linux

2. command --help 查询命令详细 或者 man command正则表达式

3.ls命令,查看文件夹下的文件:shell

-a  显示当前文件夹全部文件,包括隐藏文件windows

-l   以列表的形式显示文件详情   drwxr-xr-x   2 root root 48 2013-11-27 16:34 test/bash

格式为: 文件类型('d':文件夹,'-':文件,'b':设备文件)+ 文件读写(分别为USER,GROUP,OTHER的权限   r:可读,w:可写,x:可执行)服务器

硬连接数(有多少种方式能够访问)less

文件拥有着ssh

文件所属组ui

文件大小加密

文件最后修改时间

文件目录

ls h*  查找当前目录以h开头的文件。

还包括支持ls h? ,*h, [a-f]这样的正则表示状况。

4.cd命令

cd + .. 进入上级命令

cd + ~ 返回家命令 (直接cd也能够)

cd + '-'  切换最近两个目录

5.touch命令建立文件

文件若是已经存在,则会修改文件最后修改日期

6.mkdir建立目录

-p 建立多级目录 mkdir -p a/b/c/d

7.rm命令

-r 递归里面的文件能够删除文件夹

-f 不显示提示信息

8.cp复制命令

cp 原文件 目标路径

-i 如有覆盖是会询问

-r 复制文件夹时会复制文件夹全部内容

9.mv移动命令

-i 覆盖前会询问

mv 源文件 目标路径

mv 原文件名 新文件名  能够重命名文件

10.tree命令显示当前文件夹结构

-d 只显示文件夹

11. cat查看文件命令,一次性查看全部内容

-b 对非空行进行编号

-n 对全部行编号

12. more,less查看文件命令,分页查看

more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,并且还有搜寻字串的功能 。more命令从前向后读取文件,所以在启动时就加载整个文件。

less 与 more 相似,但使用 less 能够随意浏览文件,而 more 仅能向前移动,却不能向后移动,并且 less 在查看以前不会加载整个文件。

13. grep搜索文本命令

grep h text 在text中查看包含h的内容

-n 显示行号

-v 不包含h的行

支持正则表达式:^,$

14.echo命令,显示参数一般会和重定向一同使用

15.重定向

Linux容许将命令执行结果重定向到一个文件,能够将本应显示在终端上的内容追加到指定文件中

> 表示输出,会覆盖原有的内容

>> 表示追加,会将内容追加到已有文件的末尾

16.关机或重启 shutdown ; reboot

shutdown -r 重启

shutdown 选项 时间   设定多长时间后关闭

shutdown 20:35

17 ssh基础

用户经过SSH客户端能够链接到运行了SSH服务器的远程机器上,传输的数据是加密和压缩的。

ssh [-p port] user@remote

port是ssh监听端口,若是不指定,默认值为22

user 远程机器上的用户名,不指定默认为当前用户

remote 是远程机器上的地址 能够是IP 或 域名

SSH高级

SSH 链接信息都会保存在家目录下的 .SSH文件夹里

免密码登陆

配置公钥 执行ssh-keygen 便可生成SSH钥匙,一路回车

上传公钥到服务器 执行ssh-copy-id -p port user@remote 让远程服务器记住公钥

配置别名

若是须要ssh mac 代替 ssh -p port user@remote,须要在建立~/.ssh/config并追加如下内容:

Host mac

HostName ip地址

User  username

Port  22

保存以后便可使用ssh mac来远程链接

18 scp 在linux下远程拷贝文件的命令(unix和linux之间文件传输信)

把本地当前目录下的文件复制到远程:scp -P port 源文件 user@remote: url地址/文件名

把远程目录下的文件复制到当前目录下: scp -P port  user@remote: url地址/文件名  文件名

加上-r 选项能够传送文件夹

19 filezilla (windows和linux之间文件传输)默认端口21

20 chmod 修改用户/组对文件/目录的权限

chmod +/-rwx 文件名|目录名

目录若是没有可执行 文件就没法对其使用终端命令

目录的可读 是查看目录里的内容

目录的可写 是能够增删改里面的文件

chmod [-R] 755 文件名/目录名

21 执行目录下的文件脚本

./ + 文件名

22 组管理

groupadd 组名  添加组

groupdel  组名  删除组

cat/etc/group     确认组信息

chgrp [-R] 组名 文件/目录名  修改文件目录的所属组

23 用户管理

useradd  用户名  添加用户

-m  自动在home目录下建立家目录

-g 组名  指定新建用户的组

userdel 用户名  删除用户

-r  自动删除用户家目录

cat /etc/passwd   确认用户信息

wang:x:1002:1001::/home/wang:

用户名:表示密码加密的:uid:gid:用户的全名:家目录:登陆使用的shell

/user/bin/passwd  适用于修改用户密码的程序

24 查看用户信息

id[用户名]   查看用户的UID和GID信息

who  查看当前全部登录的用户列表

whoami  查看当前登陆用户的帐户名

25 usermod 用来设置用户的主组/附加组和登陆shell

主组:在新建用户时指定,在etc/passwd 第四列GID对应的组

附加组:在etc/group中最后一列表示改组的用户列表,用于指定用户的附加权限(设置了以后需从新登陆生效)

usermod -g 组 用户名  修改用户的主组

usermod -G 组 用户名  修改用户的附加组

usermod -G sudo 用户名  将用户添加到sudo组里可使用sudo权限

usermod -s /bin/bash  修改用户的登陆shell

26 which

which 命令  查询命令在终端中的保存位置

27 bin和sbin

bin  是二进制执行文件目录,主要用于具体应用

sbin(system binary)  是系统管理员专用的二进制代码目录,用于系统管理

/user/bin  后期安装的一些软件

/user/sbin  超级用户的一些管理程序

28 切换用户

su - 户名  切换用户,而且切换到用户的目录

‘-’   用来切换到家目录

exit  退出当前登陆帐户

su 不接用户名  直接切换到root用户(不推荐使用)

29 chown  修改文件拥有者

chown 用户名 文件/目录

30 查询日期和时间

date  查看系统时间

calendar  查看本月日历

-y    查看一年的日年

31 查看磁盘信息

df [-h]  显示磁盘剩余空间(disk free)

du [-h] 目录  显示目录下的文件大小

32 查看进程信息

ps  查看进程工做状态(process status)

a  显示终端上的全部进程

u  显示进程的状态

x  显示没有控制终端的进程

top  动态显示系统cpu和内存使用状况并排序

kill [-9] PID  关闭某个进程

33 find [路径] -name ’文件名或部分文件名'  (find的用法不少,能够查询文件类型,建立时间,大小等等,你们能够用 man 或 --help查看不作过多赘述)

34 软连接 ln -s 被链接的源文件路径 目标文件名 (能够用ls -l查看链接详情)

注意:源文件路径应该为绝对路径,不然软链接的文件移动时会失效

没有-s会建立硬连接,会占用一样大的空间

35 硬连接 ln 原文件的路径 目标文件名

36 软连接与硬连接的区别

在linux中,文件和文件数据是分开存储的,文件至关于指针,在系统中找到对应的文件数据,软链接的文件名能够找到被链接的原文件,继而找到数据,可是若是原文件删除了,就找不到数据了。硬连接则是至关于复制了原文件,即便原文件被删了,指针仍是能找到数据

37 打包压缩

tar.gz  tar负责将不少数据进行打包

文件打包 tar -cvf 打包文件路径 被打包的文件 (多个文件用空格分开)

文件解包 tar -xvf 打包文件名

gzip负责压缩tar文件,默认扩展名为.tar.gz

文件包压缩 tar -zcvf 打包文件路径 被打包的文件 (多个文件用空格分开)

压缩包解压 tar -zxvf 打包文件名

bzip2 默认扩展名为.tar.bz2

文件包压缩 tar -jcvf 打包文件路径 被打包的文件 (多个文件用空格分开)

压缩包解压 tar -jxvf 打包文件名

-C 指定目标目录(若是目录不存在会不存在)

38 软件安装

sudo apt-get install 软件名  安装软件

sudo apt-get remove 软件名  卸载软件

sudo apt-get upgrade    升级软件

39 配置软件源

图形界面:能够在软件与更新中找到国内服务器

40 VIM

vi 文件名 + 行数   打开文件能够跳到文件的指定行,不指定行数能够跳到末尾

命令模式下:(用vi打开文件时自动进入命令模式)

数字 + 命令  命令重复的次数

光标方向移动   h j k l

行内移动  w 向后移动一个单词

b 向前移动一个单词

0 回到行首

^ 跳到行内第一个非空格字符

$ 跳到行尾

gg 跳到文件首行

G 跳到末尾

行数 + G 或 行数 + gg  移动到对应行数

屏幕移动  ctrl + b 向前翻页

ctrl + f  向后翻页

段落寻找  {     向前寻找段落

}   向后寻找段落

在行内输入%  能够匹配到成对的括号

文本标记  在光标出输入m + 一个大小写字母标记位置,光标移动时能够用 ' + 标记字母返回以前位置

dd  删除所在行(vi的删除命令本质上是剪切操做,能够用p粘贴删除的文本内容)

D  删除到末尾

删除和移动的配套:

dw  向后删一个单词

d0  删到文本开头

d{  删除到段落开头

ndd  删除n行

d'a  删除到标记位置

d行数G  删除到指定行数

y(移动命令)  复制所选区域

yy  复制当前行

p  粘贴

r  在光标处替换字符

R  光标向后移,一直替换

缩排命令(可视模式能够总体缩进)

>>  向右缩进4个空格

<

。  重复上一次的缩进操做

/str  查找字符串

n  下一个

N  上一个

光标放在单词处

*  查找上一个一样的字符

#  查找下一个一样的字符

末行模式下:

%s/被替换的str/新的str/g[c]  将文本中str总体替换 c是确认替换模式

:%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

:%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中全部 vivian 为 sky

在可视模式中不用输入%

e .  查看当前目录其余文件,选中按回车经行编辑 (不保存当前文件没法切换)

e 文件名  编辑其余文件

n 文件名  新建文件

w 文件名  写入到另外一个文件,至关于另存为

sp [文件名]   横向分屏

vsp [文件名]  纵向分屏

ctrl + w命令下:

w  切换分屏窗口

r    翻转分屏窗口

c  关闭当前窗口

q  退出当前窗口

o  关闭其余窗口

编辑模式下:

可使用ctrl + v 粘贴其余软件复制的内容

可视模式下:

v 进入可视模式   光标通过的区域都会选中

V 可视行模式   光标所在的行会选中

ctrl + v 可视块模式  垂直选中

d  删除选中部分的文本

u  撤销上一次命令

ctrl + r  与撤销相反,回复操做

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值