首页 > 系统相关 >Linux 入门笔记

Linux 入门笔记

时间:2023-09-17 15:44:59浏览次数:43  
标签:node 入门 tar linux redis 笔记 Linux root 目录

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

环境准备

1.安装VMware Workstation

这个不解释了

2.安装centos

下一个 CentOS-7-x86_64-Minimal  。教程:http://www.linuxidc.com/Linux/2016-05/131701.htm 设置好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 共有七种执行等级 先看这四种

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

所以可以这样关机:

init 0// 关机

重启同理。 reboot,poweroff 也可以。

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 //列出所有文件的权限与属性。包含隐藏的。

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

[-][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。

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

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

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

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

需要先:

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 关注书山有路,用自己的知识体系去丈量世界!

你的关注和支持是我写作的最大动力~
书山有路群:452450927

标签:node,入门,tar,linux,redis,笔记,Linux,root,目录
From: https://www.cnblogs.com/outrun/p/17708886.html

相关文章

  • 每天一个linux命令目录
    开始详细系统的学习linux常用命令,坚持每天一个命令,所以这个系列为每天一个linux命令。学习的主要参考资料为:1.《鸟哥的linux私房菜》2.http://codingstandards.iteye.com/blog/7866533.linux命令五分钟系列 4.其他互联网资料,google,baidu等搜索引擎一.文......
  • Linux配置网卡
     Linux配置网卡 1、网卡设置1.1、 桥接模式1.1.1、编辑网卡(1)输入命令: vi/etc/sysconfig/network-scripts/ifcfg-eth0   (2)进入编辑模式(按 i 键)  (3)编辑网卡配置  (4)按esc键,回到命令模式(5)按shift+: 组合键,输入wq,再按回车键,保存退出(6)重启网卡,输......
  • Linux ssh命令详解
      SSH(远程连接工具)连接原理:ssh服务是一个守护进程(demon),系统后台监听客户端的连接,ssh服务端的进程名为sshd,负责实时监听客户端的请求(IP22端口),包括公共秘钥等交换等信息。ssh服务端由2部分组成:openssh(提供ssh服务)   openssl(提供加密的程序)ssh的客户端可以用XS......
  • linux那点事儿(上)
     本文算是学linux的学习笔记吧!其实linux与window差别还是有挺大的,在学linux时进量清空自己的windows思维,不然容易钻牛角尖。记是学过C之后,去学JAVA,老是用C的思维去看JAVA,所以,就是难入门。因为一个是面向过程的,一个是面向对象的。如果你抛开windows的思想,从零来学linux,其实,它没想......
  • linux screen 命令详解
    一、背景系统管理员经常需要SSH或者telent远程登录到Linux服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口,因为它们执行的时间太长了。必须等待它们执行完毕,在此期间不能关掉窗口或者断开......
  • linux grep命令
    1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。grep全称是GlobalRegularExpressionPrint,表示全局正则表达式版本,它的使用权限是所有用户。2.格式grep[options]3.主要参数[options]主要参数:-c:只输出匹配行的计数。-I:不......
  • Linux top命令详解
    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器top参数详解第一行,任务队列信息,同uptime命令的执行结果系统时间:07:27:05运行时间:up1:57min,当前登录用户: 3user负载均衡(uptime) loadaverage:0.00,0.0......
  • linux lsof命令详解
    简介lsof(listopenfiles)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP)和用户数据报协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论......
  • linux lsof命令详解2
    简介lsof(listopenfiles)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议(TCP)和用户数据报协议(UDP)套接字等,系统在后台都为该应用程序分配了一个文件描述符,无论......
  • linux sed命令详解
    简介sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(patternspace),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输......