目录
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
文件头加入//