一个前端的linux学习笔记

191 阅读8分钟

前端够用的linux笔记,简单记录下shell命令,只是记录学习,还未整理。

购买阿里云/腾讯云 服务器,选择centos,当然你也可以在自己电脑上安装一个centos的操作系统。

shell工具

图形化登录

ssh命令登录

> ssh root@192.168.14.147 -p 22 
# root 表示服务器用户名 
# 192.168.14.147 表示服务器IP 
# -p 后面是指端口号,一般默认22 可不写
# 回车输入密码即可登录 

cd 目录切换命令

cd ~cd 跳转到当前用户的家目录 \

如果是root用户,cd ~ 相当于 cd /root
如果是普通用户,cd ~ 相当于cd /home/当前用户名

> cd ~
> cd 

在这里插入图片描述

cd ..cd../ 返回上层目录

cd - 切换到上一个所在目录

cd / 跳转到根目录(任何位置直接跳转到根目录)

根目录是所有用户共享的目录,如图所示 在这里插入图片描述

cd /home 相当于查看有多少普通用户的家目录
因为所有的普通用户的父目录都是home目录 在这里插入图片描述

whoami 显示用户名

> whoami
输出:
root

pwd 显示当前目录位置

which查找可执行的文件路径

which 查询目标
例:
> which nginx
输出:
/usr/sbin/nginx

whereis查看软件安装路径

whereis nodejs

目录操作

mkdir 创建目录

mkdir 目录名

rmdir删除空目录

如果此目录中有文件则不允许删除

rmdir 目录名

ls 查看当前目录信息

建议使用简写 
ls -l or ll 
# ll 是简写,以单位字节显示不含隐藏的所有文件和目录 
ls -lh or ll -h 
# ll -h 是简写,以单位易读显示不含隐藏的所有文件和目录

tree查看文件树

image.png

find查找目录

find 目录 参数
  • find .列出当前目录及子目录下所有文件和文件夹
  • find /opt -name "*.txt"/opt 目录下查找以.txt结尾的文件名
  • find /opt -iname "*.txt"同上,但忽略大小写
  • find . ( -name "*.txt" -o -name "*.js" )find . -name "*.txt" -o -name "*.js"当前目录及子目录下查找所有以 .txt 和 .js 结尾的文件

查看软件安装目录

find / -name nodejs

或者通过which(Which命令是通过 PATH环境变量查找可执行文件路径,用于查找指向这个命令所在的文件夹)
which nodejs

image.png

cp复制目录

# cp 命令可以拷贝目录、文件、压缩包等,另外拷贝文件和压缩包不用带 -r
cp -r 目录名 目录拷贝的目标位置 # -r 代表递归拷贝

mv目录移动/改名

语法:
mv 原目录名 新目录名/目录新位置
例:
> mv box box2 :修改box为box2
> mv box ../  :移动box到上层目录

rm删除目录

rm -r 目录/文件/压缩包 / rm -rf 目录/文件/压缩包

  • -r 递归删除所有目录和文件<终端有提示>
  • -rf 强制删除,请谨慎使用
> rm -r box 
> rm -rf box 

文件操作

touch新建文件

touch 文件名
例:
touch test.txt

mv文件移动/改名

mv 原文件名 新文件名/文件新位置

cp复制文件

cp -r 文件名 文件拷贝的目标位置

cat查看文件内容

cat 文件名
例:
cat test.txt

vim修改文件内容

vi 是 Visual interface 的简称,它可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序所没有的

  • vi可以看做成我们Windows下的记事本
  • vim 即 Vi IMproved,vi 克隆版本之一
vim
vim 文件 -> 进入文件 -> 命令模式 -> 按 i / a 进入编辑模式 -> 编辑文件 -> 按 Esc 进入底行模式 -> 输入 :wq / :q!

注解:

-   输入 :wq 代表写入内容并退出即保存
-   输入 :q! 代表强制退出不保存

使用Vi来编辑文件:

Vi有三种模式:

4.1普通模式

  • G用于直接跳转到文件尾
  • ZZ用于存盘退出Vi
  • ZQ用于不存盘退出Vi
  • /和?用于查找字符串
  • n继续查找下一个
  • yy复制一行
  • p粘帖在下一行,P粘贴在前一行
  • dd删除一行文本
  • x删除光标所在的字符
  • u取消上一次编辑操作(undo)

4.2插入模式

在 Normal 模式下输入插入命令 i、 a 、 o进入insert模式。用户输入的任何字符都被vim当做文件内容保存起来,并将其显示在屏幕上。

  • 在文本输入过程中,若想回到Normal模式下,按 Esc 键即可。

4.3命令行模式

Normal 模式下,用户按冒号 :即可进入 Command 模式,此时 vim 会在显示窗口的最后一行 (屏幕的最后一行) 显示一个 “:” 作为 Command 模式的提示符,等待输入命令。

  • :w 保存当前编辑文件,但并不退出
  • :w newfile 存为另外一个名为 “newfile” 的文件
  • :wq 用于存盘退出Vi
  • :q! 用于不存盘退出Vi
  • :q用于直接退出Vi (未做修改)

设置Vi环境:

  • :set autoindent 缩进,常用于程序的编写
  • :set noautoindent 取消缩进
  • :set number 在编辑文件时显示行号
  • :set nonumber 不显示行号
  • :set tabstop=value 设置显示制表符的空格字符个数
  • :set 显示设置的所有选项
  • :set all 显示所有可以设置的选项

4.4Vi练习题

在用户主目录下,执行vi程序,编辑文件install.log;移动光标到第10行,第五个字符;按大写字母G,达到文件末尾;不存盘退出;

在用户主目录下,执行vi程序,编辑文件install.log;用/命令查找字符串sudo,复制包含字符串sudo的行

在用户主目录下,执行vi程序,编辑文件install.log;进入命令模式,设置显示行号;用?命令查找字符串openssh,用命令n查找下一个

3.2文件打包和压缩命令

在Windows操作系统下,我们会使用WinRAR或者快压等等的压缩软件来进行压缩或者解压。

在Linux下当然也存在压缩或解压的操作咯,下面我们就来学习一下在Linux下是怎么压缩和解压的!

压缩的方式也是有好几种,我们常用的有下面这三种:

  • gzip
  • bzip2
  • tar

常用的压缩的命令就有:

  • gzip filename
  • bzip2 filename
  • tar -czvf filename

常用的解压命令有:

  • gzip -d filename.gz
  • bzip2 -d filename.bz2
  • tar -xzvf filename.tar.gz

管道符

  • 命令1的正确输出会作为命令2的操作对象

  • 命令1|命令2

    ls /etc/ | more
    netstat -an | grep ESTABLISHED | wc -l
    例如:yum list | grep nginx
    

grep 查看

grep 命令介绍

grep 查找文件里符合条件的字符串,常与管道符|catps一起使用;主要用于查找文件中符合条件的字符串、统计文件中符合条件的字符串行数、grep 不显示自身进程

grep 常用命令参数

-c:统计符合字符串条件的行数
-v:显示不包括文本的所有信息

grep 常用命令

过滤test.txt文件中hello内容

 grep hello test.txt

image.png 说明:

  • hello 关键字
  • test.txt 文件名

统计test.txt中hello内容的行数

grep -c hello test.txt

image.png

说明:

  • hello 关键字
  • test.txt 文件名
  • -c 统计符合字符串条件的行数

grep、cat、管道符配合使用

cat test.txt |grep hello

image.png 说明:
过滤test.txt文件中hello内容

  • hello 关键字
  • test.txt 文件名
  • cat 打印文件内容
  • |管道符,将一个命令的输出作为另外一个命令的输入

查看nginx在yum包管理器中的名字

yum list | grep nginx

yum 安装和卸载软件

yum install nginx
yum install git # git 安装

使用yum安装和卸载软件,有个前提是yum安装的软件包都是rpm格式的。

9、安装wget(迅雷)\
yum install -y wget

yum卸载命令\
yum erase 安装包名称

yum删除命令\
yum remove 安装包名称

3.列出所有可更新的软件清单\
yum check-update

4.列出所有已安装的软件包\
yum list installed

yum search 查找对应可以安装的软件包
yum search nodejs

Linux查看Yum的安装目录及包目录 www.jianshu.com/p/585ef52ce…

curl 下载(文件传输)

安装nvm: curl -o- raw.githubusercontent.com/nvm-sh/nvm/… | bash 返回html: curl www.baidu.com

wegt 下载安装

安装nvm: wget -qO- raw.githubusercontent.com/nvm-sh/nvm/… | bash

curl和wegt区别

www.cnblogs.com/lsdb/p/7171… curl和wget基础功能有诸多重叠,如下载等。

非要说区别的话,curl由于可自定义各种请求参数所以在模拟web请求方面更擅长;wget由于支持ftp和Recursive所以在下载文件方面更擅长。类比的话curl是浏览器,而wget是迅雷9。

  1. 下载文件
curl -O http://man.linuxde.net/text.iso                    #O大写,不用O只是打印内容不会下载
wget http://www.linuxde.net/text.iso                       #不用参数,直接下载文件
  1. 下载文件并重命名
curl -o rename.iso http://man.linuxde.net/text.iso         #o小写
wget -O rename.zip http://www.linuxde.net/text.iso         #O大写
  1. 断点续传
curl -O -C - http://man.linuxde.net/text.iso               #O大写,C大写
wget -c http://www.linuxde.net/text.iso                    #c小写
  1. 限速下载
curl --limit-rate 50k -O http://man.linuxde.net/text.iso
wget --limit-rate=50k http://www.linuxde.net/text.iso
  1. 显示响应头部信息
curl -I http://man.linuxde.net/text.iso
wget --server-response http://www.linuxde.net/test.iso
  1. 同时打印请求头和响应头
curl -v http://man.linuxde.net/text.iso
curl http://man.linuxde.net/text.iso --trace-ascii /dev/stdout
wget -d http://www.linuxde.net/test.iso
  1. wget利器--打包下载网站
wget --mirror -p --convert-links -P /var/www/html http://man.linuxde.net/

ps 查看进程

ps -ef | grep node

grep、ps、管道符配合使用

ps -ef|grep ssh

image.png 说明:
过滤ssh进程信息

  • ps 打印进程信息
  • ssh 过滤关键字
  • |管道符,将一个命令的输出作为另外一个命令的输入

去掉grep自身进程

ps -ef|grep ssh|grep -v grep

image.png 说明:
过滤ssh进程信息,并去除最后一行的grep信息

  • ps 打印进程信息
  • ssh 过滤关键字
  • |管道符,将一个命令的输出作为另外一个命令的输入
  • -v 显示排除grep关键字的所有信息

nohup Linux 上Node项目一直保持启动状态

blog.csdn.net/vmanas_/art…

sudo命令

Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 使用权限:在 /etc/sudoers 中有出现的使用者。