目前已接触的linux常用命令


注意:本文中的\为转义符,用于不被md语法转换格式

Git:

git安装后,新建一个空文件夹,用于初始化及作为存放代码的仓库
mkdir 文件夹名:在当前目录下新建一个文件夹;
mkdir /路径/文件夹名:在指定路径下新建一个文件夹;
git init:初始化当前文件夹为git仓库;
git remote add origin 网址:添加远程仓库;
git pull origin master:从远程仓库的master分支上拉取更新;
git pull origin develop:develop:表示从远程的develop分支拉取到本地develop分支上,如果本地没有分支,不加:develop是可以的;

vi或者vim进入某文件的编辑

shift+G(大写的g):跳至最后一行;
ctrl+f:往前看;
i或者a或者o:进入插入模式;
esc:退出插入模式(必须退出插入模式才能退出编辑);
:q:退出编辑;
w:保存并退出编辑;
wq:强制保存并退出编辑;
q!:不保存变更强制退出编辑;

路径切换cd:

cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd .. 返回上级目录(若当前目录为“/“,则执行完后还在“/";其中".."为上级目录的意思);
cd ../.. 返回上两级目录;cd !$ 把上个命令的参数作为cd参数使用;
pwd显示当前目录的完整路径;
cd过程中按tab可自动补全唯一文件(或文件夹)的完整名称,如code,输如cd ./co按tab可补全为cd ./code;

其余文件操作命令

tail -f 文件名(或者/路径/文件名):动态访问,多用于查看正在打印的日志;
tail -f xxxx.out -n101:以一次性查看101行的形式动态访问;
ctrl+c:退出当前命令(比如正在使用tail -f动态查看日志,使用这个即可退出);
ll:展示当前目录下的所有文件及文件详情(不展示隐藏文件及隐藏文件夹),它实际上是ls -l的一个别名。Ubuntu默认不支持命令ll,必须用 ls -l,这样使用起来不是很方便;
mkdir -p /目录/目录:若要创建的目录的前置目录不存在,则递归创建相应的目录;

复制cp 目标文件名 目标完整路径:
cp -r 会把所有source当作普通文件(regular文件);
而cp -R对特殊文件(管道文件,块设备文件,字符设备文件)会进行创建操作,而不是拷贝。
cp -a该选项通常在拷贝目录时使用(cp -p也行)。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。
详细如下:
cp (复制档案或目录)
cp [-adfilprsu] 来源档(source) 目的档(destination)
cp [options] source1 source2 source3 …. directory
参数:
-a :相当于 -pdr 的意思;
-d :若来源文件为连结文件的属性(link file),则复制连结文件属性而非档案本身;
-f :为强制 (force) 的意思,若有重复或其它疑问时,不会询问使用者,而是强制复制;
-i :若目的档(destination)已经存在时,在覆盖时会先询问是否真的执行覆盖!
-l :进行硬式连结 (hard link) 的连结档建立,而非复制档案本身;
-p :连同档案的属性一起复制过去,而非使用预设属性;
-r :递归持续复制,用于目录的复制行为;
-s :复制成为符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u :若 destination 比 source 旧才更新 destination

删除rm -rf:
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉

脚本或者命令执行

sh 脚本(或者/路径/脚本名):执行脚本,只在当前shell窗口中执行,其中的变量不会加载到环境中,如果执行过程中断开SSH连接会终止执行,而且用sh执行脚本时,是会将环境中的变量加载进来的;
source(或者一个点.) 脚本(或者/路径/脚本名):执行脚本会把脚本文件中的变量定义加载到环境中(所以一般就用来生效一下环境变量),使用echo $变量名 甚至可以打印变量值,不太好;
./xxx.sh 脚本(或者/路径/脚本名):也可以执行脚本,与sh几乎无差别
nohup 命令(或者脚本):nohup是no hang up的缩写,不挂断的运行,和用户终端没有关系,例如我们断开SSH连接都不会影响它的运行;
&:是指在后台运行,但当用户退出(挂起)的时候,命令自动也跟着退出;
nohup COMMAND & 这样就能使命令永久的在后台执行(除非自己杀进程、或者执行停止命令、或者机器断电、机器故障、机器系统崩溃、机器内存溢出);
另外,sh执行脚本可以没有执行标志,可以不用在脚本第一行写上#/bin/sh,使用./xxx.sh执行则是调用脚本第一行指定的shell去解释执行,缺省为sh,就是bsh;

系统级

uname -a可以显示设备的系统信息

ifconfig可以显示网关相关信息(一般看eth0的)

df -h可以显示磁盘空间相关信息

防火墙:
防火墙状态:systemctl status firewalld.service
Active: inactive (dead)/active(running)
关闭firewall:systemctl stop firewalld.service
重启:systemctl restart firewalld.service
启动:systemctl start firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service
设置开机启用:systemctl enable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service;echo
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看已经开放的端口:firewall-cmd --list-ports
开启端口:firewall-cmd --zone=public --add-port=80/tcp --permanent
命令含义:
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效

ps -ef|grep 进程名称:可以查看带有指定进程名的进程信息,如ps -ef|grep java
kill -9 进程号1 进程号2 进程号n:可配合上一条查看进程的命令杀死指定进程号的进程

chmod options 文件名,授权命令,rwx,读写执行,r=4,w=2,x=1,快捷授予权限为chmod 777 文件名,其中777=rwxrwxrwx,因为4+2+1=7,chmod u+x 文件名 表示给当前登陆的用户授予执行权限

tar -zxvf(或者-xvf) 文件名.tar.gz :用于解压.tar.gz结尾的压缩包,
tar -cvf 文件名.后缀 /路径:用于将指定路径(即文件夹)压缩成指定后缀的压缩包