目录

dpkg命令使用

开发者常用linux命令

编译安装nodejs

vim使用

一、dpkg命令使用

dpkg 是Debian package的简写,为”Debian“ 操作系统 专门开发的套件管理系统,用于软件的安装,更新和移除。deb包的管理是比较优秀的包管理工具。

**dpkg -i package-name

** 安装软件包

**dpkg -r package-name

** 删除软件包(保留配置信息,该命令不卸载配置文件,且不能自动解决依赖性问题,但会给出相应的提示)

**dpkg -P package-name

** 删除软件包(包括配置信息,同样不会解决依赖性,但会删除配置文件)

**dpkg --configure package-name

** 配置软件包,如果加上-a表示配置所有未配置的软件包

**dpkg --unpack package-name

** 解开软件包到系统目录,但不进行配置

下面几个命令用于对软件包进行查询

**dpkg -I filename

** 查看软件说明(使用dpkg -l查询所有安装的软件包,filename可以使用正则,通常用dpkg -l | grep "filename")

**dpkg -L filename

** 查看package-name对应的软件包安装的文件及目录

**dpkg -s filename

** 查看package-name对应的软件包信息

**dpkg -S filename-pattern

** 从已经安装的软件包中查找包含filename的软件包名称

dpkg软件包相关文件介绍

**/etc/dpkg/dpkg.cfg

** dpkg包管理软件的配置文件

**/var/log/dpkg.log

** dpkg包管理软件的日志文

**/var/lib/dpkg/available

** 存放系统所有安装过的软件包信息

**/var/lib/dpkg/status

** 存放系统现在所有安装软件的状态信息

**/var/lib/dpkg/info

** 记安装软件包控制目录的控制信息文件

二、开发者常用linux命令

文件操作命令

1)创建空文件或修改文件时间

touch 文件名

命令名称:touch

命令所在路径:/bin/touch

执行权限:所有用户

2)删除

rm -rf 文件名

-r 删除目录

-f 强制

命令名称:rm

命令英文原意:remove

命令所在路径:/bin/rm

执行权限:所有用户

cp -r 递归复制 -R 递归

rm -rf 递归删除

3)cat 文件名 查看文件内容。从头到尾

命令名称:cat

命令所在路径:/bin/cat

执行权限:所有用户

-n 列出行号

4)more 文件名 分屏显示文件内容

命令名称:more

命令所在路径:/bin/more

执行权限:所有用户

空格向下翻页 b 向上翻页 q 退出

6) head 文件名 显示文件头

命令名称:head

命令所在路径:/usr/bin/head

执行权限:所有用户

head -n 行数 文件名 指定显示文件头几行

head -n 20 文件名

head -20 文件名

ctrl + c 强制终止

ctrl+l 清屏

Ctrl+a 跳到句首

Ctrl+e 跳到句尾

Ctrl+u 清除整句命令

8) 链接文件

ln

命令名称:ln

命令英文原意:link

命令所在路径:/bin/ln

执行权限:所有用户

快捷方式

新建的链接,占用不同的硬盘位置

修改一个文件,两都改变

删除源文件,软连接打不开

ln -s 源文件 目标文件 文件名都必须写绝对路径

文件和目录都能操作的命令

1)rm 删除文件或目录

2)复制

命令名称:cp

命令英文原意:copy

命令所在路径:/bin/cp

执行权限:所有用户

cp 源文件 目标位置

-r 复制目录

-p 连带文件属性复制

-d 若源文件是链接文件,则复制链接属性

-a 相当于 -pdr

cp aa /tmp/ 原名复制

cp aa /tmp/bb 改名复制

3)剪切或改名

命令名称:mv

命令英文原意:move

命令所在路径:/bin/mv

执行权限:所有用户

mv 源文件 目标位置

mv /root/aa /tmp/

mv aa bb

权限管理

1 权限位

-rw-r--r-- 1 root root 0 08-11 01:45 aa

权限位是十位

第一位: 代表文件类型

- 普通文件

d 目录文件

l 链接文件

九位 属主权限u 属组权限g 其他人权限o

r 读 4

w 写 2

x 执行 1

2 修改权限

chmod

命令名称:chmod

命令英文原意:change the permissions mode of a file

命令所在路径:/bin/chmod

执行权限:所有用户

chmod u+x aa aa文件的属主加上执行权限

chmod u-x aa

chmod g+w,o+w aa

chmod u=rwx aa

chmod 755 aa

chmod 644 aa

shell

3 权限意义:

1)权限对文件的含义

r:读取文件内容 cat more head tail

w:编辑、新增、修改文件内容 vi echo

但是不包含删除文件

x:可执行

/tmp/11/22/abc ---------

2)权限对目录的含义

r:可以查询目录下文件名 ls

w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切 touch rm mv cp

x:可以进入目录 cd

4 属主和属组命令

chown

命令名称:chown

命令英文原意:change file ownership

命令所在路径:/bin/chown

执行权限:所有用户

chown 用户名 文件名 改变文件属主

chown user1 aa user1必须存在

chown user1:user1 aa 改变属主同时改变属组

useradd 用户名 添加用户

passwd 用户名(自动出现密码设定) 设定用户密码

帮助命令

1 man 命令名 查看命令的帮助

命令名称:man

命令英文原意:manual

命令所在路径:/usr/bin/man

执行权限:所有用户

2 命令 --help 查看命令的常见选项

查找命令

1 whereis 命令名 查找命令的命令,同时看到帮助文档位置

命令名称:whereis

命令所在路径:/usr/bin/whereis

执行权限:所有用户

2 find 搜索命令

命令名称:find

命令所在路径:/usr/bin/find

执行权限:所有用户

按照文件名查找

find 查找位置 -name 文件名

find / -name aabbcc 按照文件名查找

按照用户

-user 用户名 按照属用户名查找文件

-group 组名 按照属组组名查找文件

-nouser 找没有属主的文件

/proc

/sys

/mnt/cdrom/ 除了这三个目录

find / -nouser

按照文件权限

-name 按照文件名

-size 按照文件大小。+50k:大于50k,-50k:小于50k,50k:等于50k k M

find / -size +50k

-type 类型 按照文件类型查找 f:普通 d:目录 l:链接

find /root -perm 644 按照权限查找

-iname 按照文件名查找,不区分大小写

-inum 按照i节点查找

find . -inum 2739078

在查找出的结果中,直接进行命令操作

find /var/log/ -mtime +10 -exec rm -rf {} \;

find /root -inum 1140247 -exec ls -l {} \;

3 grep “字符串” 文件名 查找符合条件的字串行。

命令名称:grep

命令所在路径:/bin/grep

执行权限:所有用户

grep -i “root” /etc/passwd

-v 反向选择

-i 忽略大小写

Find: 在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配。通配符是完全匹配。

Grep: 在文件当中搜索符合条件的字符串,如果需要匹配,使用正则表达式匹配,正则表达式是包含匹配

4 管道符

命令1 | 命令2 命令1的执行结果,作为命令2的执行条件

netstat -an | grep ESTABLISHED | wc -l 统计正在连接的网络连接数量

cat 文件名 | grep “字串” 提取含有字符串的行

grep “字符串” 文件名

ls -l /etc | more 分屏显示ls内容

补充命令:

netstat 查看网络状态的命令

-t 查看tcp端口

-u 查看udp端口

-l 监听

-n 以IP和端口号显示,不用域名和服务名显示

-a 查询所有连接

压缩和解压缩

.gz .bz2 linux可以识别的常见压缩格式

.tar.gz .tar.bz2 常见的压缩和打包命令

压缩同时打包

tar -zcvf 压缩文件名 源文件

tar -zcvf aa.tar.gz aa

-z 识别.gz格式

-c: 压缩

-v:显示压缩过程

-f:指定压缩包名

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

tar -jcvf 压缩文件名 源文件 压缩同时打包

tar -jcvf aa.tar.bz2 aa

tar -jxvf aa.tar.bz2 解打包同时解压缩

查看不解包

tar -ztvf aa.tar.gz 查看不解包

tar -jtvf aa.tar.bz2

-t 只查看,不解压

tar -jxvf root.tar.bz2 -C /tmp/ 指定解压缩位置

关闭和重启命令

1)shutdown -h now 没有特殊情况,使用此命令

-h 关机

-r 重启

shutdown -r now

命令名称:shutdown

命令所在路径:/sbin/shutdown

执行权限:root

2)reboot

命令名称:reboot

命令所在路径:/sbin/reboot

执行权限:root

挂载命令

linux所有存储设备都必须挂载使用,包括硬盘

命令名称:mount

命令所在路径:/bin/mount

执行权限:所有用户

光盘挂载

/dev/sda1 第一个scsi硬盘的第一分区

/dev/cdrom 光盘

/dev/hdc 光盘 centos 5.5

/dev/sr0 光盘 centos 6.x

mount -t 文件系统 设备描述文件 挂载点(已经存在空目录)

mount -t iso9660 /dev/cdrom /mnt/cdrom

光盘卸载

umount /dev/cdrom

umount /mnt/cdrom 强调:退出挂载目录,才能卸载

fdisk -l

mount -t vfat /dev/sdb1 /mnt/usb

网络命令

1 ping 测试网络连通性

命令名称:ping

命令所在路径:/bin/ping

执行权限:所有用户

ping -c 次数 ip 探测网络通畅

2 ifconfig 查询本机网络信息

命令名称:ifconfig

命令英文原意:interface configure

命令所在路径:/sbin/ifconfig

执行权限:root

三、安装nodejs

编译安装

官方地址:https://nodejs.org/en/download/

下载长期支持LTS版 :Source Code node-v4.5.0.tar.gz

编译安装过程:

右键获取复制下载链接

//安装前准备(必须执行)

sudo apt-get update

sudo apt-get -y install python gcc g++ make

// - C 支持断点续传

wget -c https://nodejs.org/dist/v4.5.0/node-v4.5.0.tar.gz

// 解压文件

tar -zxvf node-v4.5.0.tar.gz

cd node-v4.5.0

//根据实际情况指定安装目录

sudo mkdir -p /web/apps/node

sudo ./configure --prefix=/web/apps/node

//一定要使用超级管理员运行 su root 切换 或者执行时使用sudo

sudo make && make install

//第一: 通过shell命令export实现配置node全局运行

sudo export NODE_HOME=/web/apps/node

sudo export PATH=$PATH:$NODE_HOME/bin

##关机重启失效

//第二: 推荐上面的全局配置方式,也可以配置软链接 ,这个不推荐。(ln必须使用绝对路径)

sudo ln -s /web/apps/node/bin/node /usr/sbin/node

sudo ln -s /web/apps/node/bin/npm /usr/sbin/npm

//第三:直接修改~/.profile文件

vim /etc/profile

#按下GG跳到最后一行,按下o追加一行

export PATH=$PATH:/web/apps/node/bin

#若是要立即生效,可以使用source命令

source /etc/profile

//检查

node -v

npm -v

//卸载

apt-get remove nodejs --purge

方式二 使用bin文件

下载并解压 node-v4.4.7-linux-x64.tar.xz

tar -xJf node-v4.4.7-linux-x64.tar.xz

移到通用的软件安装目录 /opt/

sudo mv node-v4.4.7-linux-x64 /opt/

安装 npm 和 node 命令到系统命令

sudo ln -s /opt/node-v4.4.7-linux-x64/bin/node /usr/local/bin/node

sudo ln -s /opt/node-v4.4.7-linux-x64/bin/npm /usr/local/bin/npm

验证:

node -vv

4.4.7

npm -v

2.15.18

安装时必须使用超级管理root,免得出现不必要错误

vim使用

示意图

移动光标

命令

操作说明

h

向左移动光标

l

向右移动光标

k

向上移动光标

j

向下移动光标

^

将光标移到行首第一个非空白字符

$

将光标移至行尾, 或 End 键

0

将光标移至行首,或 Home 键

G

将光标移至文档最后一行的开头

nG

将光标移至文档第 n 行的开头

w

光标向后移动一个单词

nw

光标向后移动 n 个单词

b

光标向前移动一个单词

nb

光标向前移动 n 个单词

e

将光标移动到本单词的最后一个字符。如果光标所在位置为本单词的最后一个字符,则跳动到下一个单词的最后一个字符。“.” “,” “#” “/” 等特殊字符都会被当成一个字

{

光标移动到前面的“{”处

}

光标移动到前面的“}”处

Ctrl+b

向上翻一页,相当与 Page Up

Ctrl+f

向下翻一页,相当与 Page Down

Ctrl+u

向上移动半页

Ctrl+d

向下移动半页

Ctrl+e

向下翻一页

Ctrl+y

向上翻一页

复制粘帖

命令

操作说明

yy

复制光标所在行的整行内容

yw

复制光标所在单词的内容

nyy

复制从光标所在行开始向下的 n 行内容

nyw

复制光标所在字开始向后的 n 个字p 粘贴

p

粘贴

删除

命令

操作说明

x

删除光标所在位置的字符,同键盘上的 delete

X

删除光标所在位置的前一个字符

nx

删除光标及其后的 n-1 个字符

nX

删除光标及其前的 n-1 个字符

dw

删除光标所在单词ndw 删除光标及其后的 n-1 个单词

d0

删除当前行光标所在位置前面的所有字符

d$

删除当前行光标所在位置以及后面的所有字符

dd

删除光标所在行

ndd

删除光标所在行及向下的 n-1 行

nd+上方向键

删除光标所在行以及向上的 n 行

nd+下方向键

删除光标所在行以及向下的 n 行

撤销

命令

操作说明

u

撤销

ctrl+r

反撤销

Vi 的插入模式

命令

操作说明

q

退出 vi 程序,如果文件修改过,则必须先保存文件

q!

强制推出 vi 而不保存文件

x

(exit)保存文件并推出

x!

强制保存文件并推出

w

(write)保存文件但不推出 vi

w!

对于只读文件,强制保存修改的内容但不退出 vi

wq

保存文件并退出 vi,作用同 x

E

在 vi 在创建新的文件并可为文件命名

N

在本 vi 窗口打开新的文件

w

filename 另存为 filename 文件,不提出 vi

w!

filename 强制另存为 filename 文件,不提出 vi

r

filename (read)读入 filename 指定的文件内容插入到光标位置

set nu

在 vi 每行开头设置行号

s/pattern1/pattern2/g

就光标当前行的字符串 pattern1 替换为 pattern2

%s/pattern1/pattern2/g

就所有行的字符串 pattern1 替换为 pattern2

g/pattern1/s//pattern2

就所有行的字符串 pattern1 替换为 pattern2

num1, num2, s/pattern1/pattern2/g

将行 num1 到 num2 的字符串 pattern1 替换成pattern2

/

查找匹配字符串功能。用“/字符串”的命令模式,系统便会自动查找,并突出显示所有找到的字符串,然后转到找到的第一个字符串。如果想继续向下查找,可以按 F 键,向前继续查找则按 N 键

?

与/类似,向前查找字符串

查找

命令

操作说明

/

查找内容

n

下一个

N

上一个

替换

命令

操作说明

:1,10s/old/new/g

替换1到10行的所有old为new

:%s/old/new/g

替换整个文件的old为new

g

范围内所有old换为new

:1,5s/^/#/g

注释1到5行

:1,5s/^#//g

取消注释

:1,5s/^g

文件头加入//