Linux 入门笔记

一开始对linux总有些抵触,黑黑的命令框不知道如何下手,此次由于工做交接的缘故须要负责以前同事的Node后端部分,node,redis这些都是部署在Linux上的,看了几回运维的同窗噼里啪啦的敲命令,黑的白的一闪一闪,我都还没看清楚敲的啥,敬佩之情油然而生。没办法,不能怂啊,因而开始学Linux,先装个虚拟机本身玩起。

环境准备

1.安装VMware Workstation

这个不解释了

2.安装centos

设置好root帐户和一个经常使用帐户

基础知识

Linux都是命令操做,命令不少很差记,能够用man 来查看一个命令的用法。遇到很长的命令,用tab键能够补全。如下只是根据我本身的习惯分类的。内容基本上都是来自鸟哥的私房菜基础篇,该书篇幅甚巨,有时间能够细研。

 1.登陆

[Ctrl] + [Alt] + [F1]~[F6] 表示6个终端。命令窗口和图像窗口能够经过[Ctrl] + [Alt] + [F1]和[Ctrl] + [Alt] + [F2]来切换。exit 退出当前用户。
经常使用帐户没有安装权限,能够用su切到root帐户。
这样root登陆后仍是在当前环境。 root是整个系统权限最高的帐户,因此通常仍是不要使用root。
 
可是root密码忘记了咋整? 难道要从新安装。鸟哥私房菜中给出了方法:以单人维护模式登陆就能够修改root密码。
重启虚拟机,在读秒的时候按下任意键进入下面的界面:
按下e进入编辑模式,将光标移动到kernel那一行,再按下e 进入该行的编辑
最后加上一个 single进入单人维护模式,而后按下enter 再按下b
这个时候至关于以root的身份得到了控制权。而后输入passwd 就能够修改密码了。登陆的时候记住用户名是root而不是自定义的stone。 
可是又以为用这个方式不是能够修改别人机器的root密码了吗?

2.关机重启

shutdown -h now// 立刻关机
shutdown -r now //当即重启

shutdow是经常使用的,若是是root 还能够用init,Linux 共有七种执行等级 先看这四种html

run level 0:关机
run level 3:纯文本模式
run level 5:有图形接口模式
run level 6:从新启动

因此能够这样关机:node

init 0// 关机

重启同理。 reboot,poweroff 也能够。linux

3.文件目录

目录是很经常使用的命令部分
. //表明此层目录
..// 表明上一层目录
- //表明前一个工做目录
~ //表明当前用户所在目录
cd://切换目录( Change Directory)
pwd: //显示当前目录( Print Working Directory)
mkdir://创建一个新的目录
mkdir -p test1/test2/ // 创建多个目录
rmdir://删除一个空目录。有子目录会提示
rmdir -p test1/test2 //有子目录一次删除。只删除空目录。
rm -r test  //无论test为不为空 都删掉。
echo $PATH  //显示系统路径
mv  text.txt  //text1 把text.txt 从当前目录移到text1
mv text.txt  .. //把text.txt 从当前目录移动到 上级目录。
mv text.txt t1.txt //重命名为t1.txt  
cp  //复制档案与目录。
cp -r test1 test2  //若是 test1下面还有别的目录 就要用 -r

咱们能够经过ls命令查看当前目录下面有哪些文件。 ls -al //列出全部文件的权限与属性。包含隐藏的。c++

ll会列出全部文件的权限及大小信息,第一列,-表示文件,d表示目录。r表示read,w表示可写,x表示可执行。redis

[-][rwx][r-x][r--]
1   234 567 890
1 为:表明这个文件名为目录 ;
234 为:拥有者的权限,本例中为可读、可写、可执行(rwx);
567 为:同群组用户权力,本例中为可读可执行(rx);
890 为:其余用户权力,本例中为可读(r)
一个linux档案能不能执行,与他的第一栏的十个属性有关。与文件名没有一点关系。只要权限中有x的话就能执行。但不表明可执行成功

 4.压缩与解压

 *Z, *.tar, *.tar.gz, *.zip, *.tgz: 等都表示压缩文件。不一样的名称是由于不一样的压缩的方式不一样。只须要记住tar命令就好了。算法

 tar [-j|-z] [cv] [-f 文件或目录] filename

好比: $ tar -zcv -f t.tar.gz t1.txt 。-j和-z表明不一样压缩算法。-j表示是用bzip2方法来压缩,其后缀也建议是*.tar.bz2 -z表示是gzip的方式压缩。 建议的后缀是*.tar.gz。shell

-c 表示压缩,-v表示显示档案中的名称。解压:npm

tar [-j|-z] [xv] [-f 文件或目录] [-C 目录] 

x表示解压。-C表示解压到指定的目录。vim

此次还有.xz后缀的。好比node的二进制安装包。 node-v6.10.2-linux-x64.tar.xzwindows

须要先:

xz -d node-v6.10.2-linux-x64.tar.xz

解压成.tar。而后再用tar解压。

能够用zcat 查看被压缩的文件内容。

5.文本编辑

1) nano

nano  xx.txt //打开或新建一个名为xx的text。  ctrl+O  保存,f2或者ctrl+x 退出。

完了能够经过cat查看内容。

cat xx.txt

2) vi编辑器

全部Unix like系统都会内建vi 文书编辑器。
vi test.txt //建立一个文档。
按下 i, o, a 等字符就能够进入编辑模式了。
按ctrl + c 退出编辑,可输入命令模式
再输入:wq 保存并离开。这个命令表示写入和离开,也能够分开用。强制能够加上!
/word //进行搜索。
?word //直接定位到word字符串。
yy //复制光标所在的一行。
p  //粘贴数据。
x  //删除数据
u  //撤销
Ctrl+r // 重作。

3) vim 

vim有程序编辑能力,能高亮。
 
一样是ctrl+c 进入命令模式
set nu 设置行号。
set nonu 取消行号
当咱们按下 v 或者 V 或者 [Ctrl]+v 时, 这个时候光标移动过的地方就会开始变白,表示选中。而后按下y就是复制了。按p就能粘贴。

6.程序管理

在Linux系统中,触发任何一个事件时,系统都会将它定义成为一个程序,而且给予这个程序一个ID,即PID。
PPID表示他的父程序ID,老实说,Linux几乎能够说不会当机。由于他能够在任什么时候候,将某个困住的程序杀掉。而后从新执行改程序而不用从新启动。假设界面死掉,你能够随意的按Alt+F1--F7 切到其余终端机界面,而后以ps -aux 找出出错的程序,而后kill一下。
kill -signal % jobNumber
-1 从新读取一次参数的配置文件,相似于reload。
-2 表明与键盘输入ctrl+c 同样的操做。
-9 马上强制删除一个工做。
-15 以正常方式终止一项工做。
若是想在背景工做的程序在注销后还能继续运行,就用nohup搭配&  这个在咱们启动redis服务的时候用到。
ps aux  观察系统全部的程序数据。
A 全部的process均显示出来。
-a 不与终端有关的全部process。
-u 有效使用者相关的process
x 列出完整的信息。
-l 仅仅观察本身的bash相关程序。
 
top 动态观察程序变化
相对于ps是一个时间点的程序状态,top是持续侦测程序运做的状态。
top -d | top [-bnp]
-d 表示秒数,预设是3秒。
-b是批次执行top。n表示执行几回。-p表示指定某个PID进行观测。
按q退出。
free //直接查看内存状况

uname //查看系统信息
-a :全部系统相关的信息,包括底下的数据都会被列出来;
-s :系统核心名称
-r :核心的版本
-m :本系统的硬件名称,例如 i686 或x86_64 等;
-p :CPU 的类型,不 -m 相似,叧是显示的是 CPU 的类型!
-i :硬件的平台 (ix86)
ifconfig eth0 // 确认网络是否可行

ping

肯定路由是ok的。能够经过 dig 域名 来看DNS解析

7.Bash

查看变量环境变量:
echo $PATH
定义变量
echo $myname
myname=VBird   //等号两边不能留空格
echo $myname 
一般大些字母为系统默认变量,小写为自定义变量。
能够用变量定义一个目录。不过退出以后就没有了。能够用来编写linux脚本
read来定义一个变量,并接受用户的输入做为值。
第二行为输入内容。
read -p "Please keyin your name: " -t 30 named
还能够输入提示和时间计时。
declare [-aixr] variable  //申明变量类型
a是数组,i是数字,x是定义为环境变量,r是只读。
grep 是一个很常见也很经常使用的指令,他最重要的功能就是进行字符串比较。将符合要求的打印出来。

Xshell

Xshell真是个好东西,linux上默认的命令框操做总感受束缚着。不能像windows那样复制粘贴,窗口切换也麻烦。Xshell用起来很舒服
能够经过新建会话连接机器,按照提示输入ip和帐户及密码。记住以后,下次能够直接打开。也能够在地址栏中输入ip进行连接。也能够经过命令
ssh 192.168.92.128

灰常的方便,还能够在工具里面选择配色方案:

linux小菜鸟瞬间上了个档次。别说我仍是瞄的运维人员的。嘿嘿。主要确实方便,能够复制(选中右键),能够粘贴(shift+ insert).安装软件还有进度条。 

软件安装 

 要用的时候到来了,如何装个noed呢?

 1.安装node

 最好先用 uname -r 看一下本身的系统。由于linux的64并不兼容32.

 

 我是64的,下了个32位的一直跑不起来。会出现 libstdc++.so.6 相关错误。没法运行node。

 

 用wget 获取压缩包:

wget --no-check-certificate  https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.xz

 --no-check-certificate是用来忽略掉证书检查。 下载完成后,tar.xz 的文件先要解压成 .tar的

xz -d node-v6.10.2-linux-x64.tar.xz

而后 用tar解压:

而后进入解压后的bin目录

执行./node -v 能获得版本说明对了。可是还须要设置下全局变量,才好用。须要先用su命令切到root

而后打开profile。将node的目录插进去:

再保存就行了。 能够用echo进行查看:

在看下node版本。ok了。

2.安装redis

刚才node下载下来直接是能够用的二进制,其实不少软件还须要咱们本身编译的。下载redis

wget http://download.redis.io/releases/redis-3.2.8.tar.gz

再进行解压:

tar xzf redis-3.2.8.tar.gz

再进入目录 

cd redis-3.2.8

进行make:

make

这个时候若是src目录下面没有出现redis-server

 

说明安装失败了。若是出现 make cc command not found 错误
yum install gcc

须要安装gcc。若是运行redis-server出现  You need tcl 8.5 or newer in order to run the Redis test  错误 

yum install tcl

须要安装tcl。没办法,这个minmal的centos 仍是缺很多东西的。但都体验一遍也挺好。

在运行 src/redis-server:
说明服务启动成功了。注意后面的&号,这样不阻塞界面。再试下redis-cli 
读写也正常了。
 
能够再建一个work目录,用npm 安装一个redis 模块。再用vim 新建一个app.js。
var redis=require('redis');
var client=redis.createClient();

client.on('connect',function(){
 console.log('redis connected');
 client.set('author','stoneniqiu',redis.print);
 client.get('author',redis.print);
});

ok,运行:

如今能够独自愉快的玩耍了。
 
 小结:一开始学linux的时候感受windows真是伟大的产品,多么人性的设计。学了几天linux,也以为这也挺好玩的。以上只是我的的入门笔记。
 
 参考:
linux部署node:http://www.cnblogs.com/dubaokun/p/3558848.html
相关文章
相关标签/搜索