linux基本知识2

vi/vim工具使用

vi三种模式:

1.浏览模式(命令模式)

2.输入模式

3.末行模式

三种模式切换:

浏览模式(命令模式)    按"i" "a"      输入模式

输入模式   按"esc"        浏览模式(命令模式)

浏览模式(命令模式)    按shif+:      末行模式

浏览模式经常使用的命令:

删除一行  dd

删除多行  ndd (n=1,2,3)

复制一行  yy

复制多行  nyy (n=1,2,3)

粘贴      pp

大写写切换  shift+~

光标文件开头 :gg

光标文件结尾 :GG

排版 :gg=GG

末行模式使用命令:

wq :保存退出

q!:不保存退出

w  文件名称 :另存为

!shell命令   :运行shell命令

set nu :显示行号

set nonu:取消显示行号

u:撤销上一次改动

%s/源字符/新字符/ :替换每一行第一次出现源字符

%s/源字符/新字符/g :替换全部源字符

%s/ad/88888/g

%s/\/home\/etc/1231232/g //转移字符"\"

linux用户管理

/etc/passwd:用户信息(password凭证)

/etc/group:用户组信息

/etc/shadow:用户password及其password有效期

root:   x         :0    :0   :root:    /root:   /bin/bash

username  password凭证   uid  gid   初始组名 用主文件夹  shell脚本解                                                  释器

root::0:0:root:/root:/bin/bash//取消"x",能够不须要password

uid>=0  && uid<=999  系统预留UID

uid>=1000 系统一般用户

添加用户命令

useradd/adduser  username

useradd test//改动/etc/passwd  /etc/shadow /etc/group   /home/test

-d:指定用户主文件夹名称

-u:指定uid

-M:不会创建用户主文件夹

初始组:

a.adduser创建用户时,系统自己主动创建一个与username同名组

b.-g:选项指定新用户所属初始组(组必须先存在,可能与username一样)

有效组:

a.-G:指定用户除了属于初始组之外的组

一个用户能够有多个有效组,仅仅能有一个初始组

-g:指定用户初始组

adduser -g test test4 //初始组:test

-G:指定用户有效组

adduser -G test  test5//初始组:test5  有效组:test

设置/改动password

passwd username

[[email protected] etc]# passwd  test

[[email protected] etc]# passwd  //改动当前rootpassword

切换用户

su

root -->一般用户: su test//无需输password

一般用户-->root : su  /su root//须要输入root用户password

[[email protected] etc]# su test

[[email protected] etc]$ su

改变用户信息

a.username

b.用户提示信息

c.冻结/解冻用户

usermod

usermod  -l   usernewname   useroldname

usermod -c "sdfdsfdsfsd"  test

usermod -L  test //冻结用户

usermod -U  test //解冻用户

添加组

groupadd

groupadd  group1

删除用户

userdel

userdel  test2//删除username,用户主文件夹不会删除 rm -rf test2

userdel  -r test4//删除username,用户主文件夹也删除

删除组

groupdel

groupdel group1

网络常使用命令

/etc/sysconfig/network-scripts/ifcfg-p3p1 //网卡配置文件

网卡一般为:eth0  eth1 ethn

查看网络信息:

ifconfig

设置IP地址:

1.设置永久性

setup

servie network restart|start|stop //必需要重新启动服务,否则设置将无效

2.暂时 ifconfig  p3p1  192.168.226.3 netmask 255.255.255.0

linux 与window 网络通信:

1.查看网络适配器(VMware Network Adapter VMnet1),ip:192.168.80.1//每台机器不一样

2.vm-->setting-->network adapter  右下角 选择第四项(customer adapter -->vm1(host only))

3.[[email protected] network-scripts]# ifconfig p3p1  192.168.80.3 netmask 255.255.255.0

4.[[email protected] network-scripts]# ping 192.168.80.1//linux ping window

5.ping  192.168.80.3 //window  ping linux

关闭防火墙:

linux:setup --->firewall config

samb共享服务

linux共享文件 window訪问

samb服务配置步骤:

1.[[email protected] network-scripts]# service  start

2.[[email protected] home]# mkdir share  //创建共享文件夹

3.[[email protected] etc]# cd /etc

[[email protected] etc]# cd samba/

4.[[email protected] samba]# cp smb.conf  smb.conf4  //备份配置文件

5.改动smb.conf配置文件

vim   smb.conf

118   security = share

322 [share]

323         comment= wshare

324         path= /home/share

325         public= yes

326         guest ok =yes

327         writable= yes

6.[[email protected] samba]# service smb restart//重新启动服务

7.window   执行:\\192.168.80.3

8.改动权限

[[email protected] /]# chmod  777 home

[[email protected] home]# chmod 777 share

[[email protected] home]# setenforce 0

重新启动机器后须要设置:

1.[[email protected] network-scripts]# ifconfig p3p1  192.168.80.3 netmask 255.255.255.0

2.[[email protected] samba]# service smb restart//重新启动服务

3.window   执行:\\192.168.80.3

4.[[email protected] home]# setenforce 0

linux 进程管理命令

进程与程序差别

进程:动态 正在执行的程序

程序:静态 实现代码

查看显示进程

ps

ps -aux

a:显示全部进程(前台进程与后台进程)

x:显示内核进程(内核服务)

u:显示当前用户的进程

ef:显示父亲进程(PPID)

进程状态:

S:睡眠状态

R:正在执行状态

D:睡眠状态不可中断

T:暂停

Z:僵死

"&":运行命令时,直接成为后台进程

ctrl+C:结束当前进程

ctrl+D:把当前进程改为后台进程

fg +pid //把后台进程改变成前台进程

fg +pid

[[email protected] share]# fg + 4641

top:动态查看当前进程状况

pstree :树结构显示进程

kill pid //进程ID杀死

kill -9 pid//强制杀死进程

killall bc//进程名

killall -9 bc//强制杀死进程

清屏

clear

echo -e ‘\033c‘

作业:

1,创建组account,mis,sales

groupadd account

groupadd  mis

groupadd sales

2,创建用户a

adduser a

3,创建用户b,不创建家文件夹

adduser -M b

4,创建用户c,家文件夹为/home/cc

并设置初始化组为sales,有效组为mis

adduser -d /home/cc   -g  sales -G mis   c

5,改动a用户的password为a123456

echo a12345 |  passwd a --stdin

6,把c用户冻结

usermod  -L c

usermod -U c

8,删除sales组

groupdel sales

环境变量

为了保存系统一些信息,定义的变量

环境变量名通常是大写

常见的环境变量

PATH:保存系统shell命令可运行文件路径

HOSTNAME:主机名

LD_LIBRARY_PATH:动态库载入路径

USER:当前登录username

查看环境变量命令

env

env | grep  HOSTNAME

echo  $HOSTNAME//输出HOSTNAME变量值

echo  HOSTNAME//输出变量名HOSTNAME

echo $PATH

export 导入

让改动环境变量新值有效

改动PATH环境变量值:

1.暂时改动

[[email protected] etc]# export PATH=$PATH:/sbin:/bin

2.永久改动

一般用户:

/home  .bash_logout  .bash_history

.bash_profile(用户环境变量或启动程序设置)

.bashrc

root用户:

.bash_logout  .bash_history

.bash_profile(用户环境变量或启动程序设置)

.bashrc

etc: bashrc  profile

PATH永久设置:

用户:  .bash_profile

export PATH=$PATH:/sbin:/bin

/etc:   profile

export PATH=$PATH:/sbin:/bin

自己定义换将变量

[email protected] etc]# export AA=12345

[[email protected] etc]# unset AA  //删除环境变量

[[email protected] etc]# export AA=12345

[[email protected] etc]# readonly AA

linux 解压/压缩

.tar.gz

.tar.gz2

.rpm

解压/压缩命令

tar

-x:解压

-c:压缩

-v:输出压缩\解压的信息

-z:压缩文件gzip/zip

-f:文件名称(一般放在选项最后面)

-C:改变指定解压文件的文件夹(默认解压到当前文件夹)

压缩文件:

tar -cvzf

tar -cvf

[[email protected] yj]#tar -cvzf  abc.tar.gz  a b c

[[email protected] yj]# tar -cvf  abc.tar.gz2  a b c

解压文件:

[[email protected] yj]# tar -xvzf abc.tar.gz

[[email protected] yj]# tar -xvf abc.tar.gz2

[[email protected] yj]#tar -xvzf arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz  -C/usr/local

linux文件安装

a.带源代码安装

b.解压安装

带源代码安装步骤:

以安装:sqlite-3.3.7.tar为例:

1.tar -xvzf sqlite-3.3.7.tar.gz  -C /usr/local

2.cd sqlite-3.37

3.[[email protected] sqlite]# ./configure  --prefix=/usr/local/sqlite //生成一个makefile文件

4.make //编译

5.make install //安装

RPM包(reahat package manager)

rpm 经常使用选项:

-q:查询

-a:全部包

-i:安装

-e:删除

-v:验证

-h:显示安装进度

vim-filesystem-7.3.315-1.fc16.i686.rpm

vim-filesystem:包名(功能)

7.3.315-1:版本号

fc16:os版本号

i686:处理器类型

rpm  -qa  包名//依据包名搜索安装包

rpm  -ivh vim-filesystem-7.3.315-1.fc16.i686.rpm

rpm  -evh 包名

linux挂在cdrom步骤:

1.vm-->setting-->cd dvd   勾选connected   指定虚拟镜像文件

2.[[email protected] /]# mount /dev/cdrom   /media

3.cd media

正則表達式

一种用来来描写叙述文本模式的特殊语法

由普通字符(比如a到z 0-9)以及特殊字符(称为元字符,如.*[]^{}\+?|() $等)组成

^a

b$

@.qq.com

abcd123qwer

*

正則表達式特殊符号:

^:以字符开头 如:^a  ^abc  ^aabc

$:以字符结尾 如:cdf$  cf$ f$

.:匹配随意单个字符: 如:a.d 匹配:a1d aad add

*:前面一个字符反复出现0次/1次/多次

如:da*cd  匹配:dcd   dacd daacd daaaacd

\:转义字符  如:a\.c

\{n\}:前面单个字符连续出现n次(n=0,1,2...)

\{n,\}:前面单个字符至少连续出现n次(>=n)

\{n,m\}:前面单个字符连续出现次数为:n<=次数<=m

[list]:从list集合中选择随意一个字符 a[123]c  a1c a2c a3c

[list1-list2]:从list1-list2区间集合中选择随意一个字符

a[0-9]z  a0c a1c ... a9c

a[A-Z]z  aQc aAc ... aZc

[^list]:除开list集合中随意字符  a[^0-9]b   aab  a\+b

+:前面单个字符仅仅能出现1次  多次  a+b   ab aab aaab

?:前面单个字符仅仅能出现0次  1次   a?b   b   ab

|:二选1  1a|b4  1a4  1b4

(|):多选1      1(ab|cd|ef|23)9 1ab9  1cd 9 1ef9 1239w

/d:数字[0-9]

/D:非数组[^0-9]

/w:字母[a-zA-Z]

/W:非字母[^a-zA-Z]

^a[0-9]\{2\}[A-Z]\{3,4\}s$

a23ASDs

a23ASDFs

abcd123qwer

[a-zA-Z]\{4\}[0-9]\{3\}[a-zA-Z]\{4\}

grep  搜索查找字符命令

-n:输出目标字符所在行号

-c:统计目标字符查找出现的次数

-i:忽略大写和小写

-a:在二进制文件查找

[[email protected] yj]# grep  ‘root‘  passwd

[[email protected] yj]# grep -n ‘root‘  passwd

[[email protected] yj]# grep -ni ‘root‘  passwd

[[email protected] yj]# grep -n  ‘t[ae]st‘  passwd

[[email protected] yj]# grep  -n  ‘ro\{2,4\}t‘  passwd

[[email protected] yj]# grep -n ‘r[^g]o‘  passwd

[[email protected] yj]# grep -n ‘r[^a-z]o‘ passwd

[[email protected] yj]# grep -n ‘r[^a-z0-9A-Z]o‘ passwd

[[email protected] yj]# grep -n  ‘^$‘  passwd

[[email protected] yj]# grep -n ‘^r‘  passwd

[[email protected] yj]# grep -n  ‘^[0-9]‘ passwd

[[email protected] yj]# grep -n  ‘^[a-zA-Z]‘ passwd

[[email protected] yj]# grep -n ‘\.$‘ passwd

egrep  查找,主要是适合(+ ?

* | (|))

[[email protected] yj]# egrep  -n ‘ro+t‘  passwd

[[email protected] yj]# egrep  -n ‘ro?t‘  passwd

[[email protected] yj]# egrep  -n ‘ro*t‘  passwd

练习:

写出一个正則表達式:

字母‘m‘开头后面是4个连续的随意字母后面是‘:‘后面是3个连续的字母‘a‘最后是‘s‘结尾

[[email protected] yj]# grep -n  ‘^m[a-zA-Z]\{4\}:a\{3\}s$‘  passwd

awk  使用

依据指定符号对一行数据分解成多个数据域

数据域:数据行依据指定符号分解之后产生的子数据

-F  符号

awk -F ,

awk 默认分解符号是空格

awk 命令语法:

awk  -F  分解符号  ‘命令‘  数据源(文档 管道输入数据)

特殊符号

$0:全部数据域

$1:第一个数据域

$2:第二个数据域

$3:第三个数据域

[[email protected] yj]# awk  -F ,  ‘{print $4}‘  awkfile

[[email protected] yj]# awk  -F ,  ‘{print $0}‘  awkfile

[[email protected] yj]# awk  -F ,  ‘{print $1"\t"$3"\t"$5}‘  awkfile

[[email protected] yj]# awk  -F ,  ‘{print $1" "$3" "$5}‘  awkfile

[[email protected] yj]# awk  -F ,  ‘{print $1,$3,$5}‘  awkfile

[[email protected] yj]# awk ‘{print $1}‘  awkfile

awk   运行命令组成部分:

1.BEGIN

2.数据行

3.END

[[email protected] yj]# awk -F , ‘BEGIN{ print "adfdsfdsf"}‘ awkfile

[[email protected] yj]# awk -F , ‘BEGIN{ print "name\tscore"} {print $1"\t"$6}‘ awkfile

[[email protected] yj]# awk -F , ‘BEGIN{ print "name\tscore"} {print $1"\t"$6} END{print "total="}‘ awkfile

[[email protected] yj]# awk -F , ‘BEGIN{total=0} {print $1"\t"$6;total=total+$6} END{print "total="total}‘ awkfile

[[email protected] yj]# awk -F ,  ‘{if($4=="Yellow") print $0;else print "error"}‘  awkfile

[[email protected] yj]# awk -F , ‘{if($4=="green" || $4=="Green") print $0}‘ awkfile

[[email protected] yj]# awk -F , ‘{if($4 ~/[gG]reen/) print $0}‘ awkfile

[[email protected] yj]# awk -F , ‘$4~/[gG]reen/‘ awkfile

[[email protected] yj]# awk -F , ‘{if($4 !~/[gG]reen/) print $0}‘ awkfile

[[email protected] yj]# awk -F , ‘{if($6<=$7) print $0}‘  awkfile

[[email protected] yj]# awk -F , ‘{if($5<=$6 && $6<=$7) print $0}‘  awkfile

[[email protected] yj]# awk -F , ‘$1~/^...a/‘ awkfile

[[email protected] yj]#awk -F , ‘$4 ~ /Yellow|Brown/‘ awkfile

[[email protected] yj]#awk -F , ‘$0 ~ /^J/‘ awkfile

[[email protected] yj]# cat awkfile  |  awk -F , ‘{print $2}‘

[[email protected] yj]# echo "a,b,c,d" | awk -F , ‘{print $2}‘

[[email protected] yj]# echo "a,b,c:1,2,3:e,r,t" | awk -F : ‘print $1"\n"$2"\n"$3}‘ | awk -F , ‘{print $2}‘

[[email protected] yj]# data=`echo "a,b,c:1,2,3:e,r,t" | awk -F :         ‘{print $1"\n"$2"\n"$3}‘ `

//反 `` 把``中的命令运行的数据赋值给变量

[[email protected] yj]# data=`echo "a,b,c:1,2,3:e,r,t" | awk -F : ‘{if($0!~/^$/) print $1"\n"$2"\n"$3}‘ | awk -F , ‘{print $2}‘`

awk内部特殊变量

FILENAME:文件名称

NR:行数

NF:列数

ARGC           命令行參数个数

ARGV           命令行參数排列

ENVIRON        支持队列中系统环境变量的使用

FILENAME       awk读取的文件名称

FNR            当前文件已处理的记录行数

FS             设置域分隔符。相当于-F

NF             域的列数  $NF标识最后处理域

NR             已处理的记录总行数

OFS            设置输出字段域分隔符

RS/ORS         换行符

[[email protected] yj]# awk -F , ‘{print NR "\t" NF "\t" FILENAME}‘  awkfile

[[email protected] yj]# awk -F , ‘{if(NR==3) print $0}‘  awkfile

练习:

1.数据/etc文件夹下全部一般文件大小总和

[[email protected] etc]# ls -l | grep  ‘^-‘ | awk  ‘BEGIN{total=0} {total=total+$5} END{print total/1024}‘

sed

sed是在缓冲区中对文档中的内容 改动 添加  删除 替换,改动的结果都不会影响到原文件,利用管道把改动的内容提交到原文件里

sed语法

sed  -nfi ‘commad‘   文件名称

-n:仅仅输出sed改动的内容

-f:直接改动文件里内容(非缓冲区)

-i:直接对文件编辑

sed经常使用的命令

d:删除

a:添加一行和多行

p:打印输出

c:替换数据行

i:插入新行

s:替换数据行的局部数据

g:全部字符

删除行

[[email protected] yj]# sed  ‘1d‘ awkfile //删除第一行

[[email protected] yj]# sed  ‘1,2d‘ awkfile //删除第一行到第二行

[[email protected] yj]# sed  ‘$d‘ awkfile //删除最后一行

[[email protected] yj]# sed ‘2,$d‘ awkfile

输出行

[[email protected] yj]# sed  -n ‘1p‘ awkfile //输出第一行

[[email protected] yj]# sed  -n ‘1,2p‘ awkfile

[[email protected] yj]# sed -n ‘$p‘ awkfile

模式查找

[email protected] yj]# sed -n ‘/green/p‘ awkfile

[[email protected] yj]# sed -n ‘/\//p‘ awkfile

添加数据行

[email protected] yj]# sed  ‘1a qweqwewq213123213‘  awkfile

[[email protected] yj]# sed  ‘1,2a qweqwewq213123213‘  awkfile //在第一行和第二行后面分别添加一行新数据

[[email protected] yj]# sed  ‘1a qweqwewq213123\n21376567567‘  awkfile //添加多行数据

替代一行或多行

[[email protected] yj]# sed ‘1c 3123123‘ awkfile

[[email protected] yj]# sed ‘1,2c 3123123\nqqwqw‘ awkfile

直接编辑文件

[[email protected] yj]# sed -i  ‘$a 123123‘ awkfile

对一行局部数据替换

[[email protected] yj]# sed -n  ‘/green/p‘ awkfile  | sed -i  ‘s/green/aaaa/g‘ awkfile

[[email protected] yj]# sed -n  ‘/aaaa/p‘ awkfile  | sed -i  ‘s/aaaa//g‘ awkfile

获取字符长度

[[email protected] yj]# name=yj

[[email protected] yj]# echo  ${#name}

截取字符

${name:startpos:charlen}//startpos从0開始  charlen所取字符个数

[[email protected] yj]# echo  ${name:1:4}

shell脚本语句

shell脚本文件

/bin/bash:shell脚本文件解释器

shell脚本文件特点:

1. .sh结尾

2.shell脚本文件能够直接运行

#!/bin/bash//shell脚本文件解释器

#ls -l //"#"凝视符号

shell脚本运行:

1.sh  shell脚本文件

2. [[email protected] shell2]# chmod 755 sh1.sh //授予运行权限

[[email protected] shell2]# ./sh1.sh

shell 脚本变量定义

变量名=值//变量名通常是小写,与环境变量区分

输出变量值

echo $变量名

name=aaa

age=20

score=34.56

echo ‘$name‘ //输出$name

echo "$age"

echo ‘$s"co"re‘

echo "$n‘am‘e";

age=20;变量名一般用‘{}‘括起

echo "my age is ${age}ee"

read 从输入设备读取数据给变量

read 变量名1  变量名2//输入值是,空格区分值分配,假设变量已经分配完毕,最后全部的值赋给最后一个变量

shell脚本參数值

./sh1.sh abcf 121 466

位置參数获取值:

$0:运行文件名称

$1:获取第一个參数值

$2:获取第二个參数值

[email protected]:获取全部的參数值

$*:获取全部的參数值

几个特殊符号:

$$:获取当前进程ID(pid)

$?:上一次命令运行成功与否(0:成功 非0:失败)

echo 输出控制

\n:换行

\t:tab

\c:下一个echo不换行输出

-e  :针对 \n  \t  \c 特殊输出

``

[[email protected] shell2]# da=`date`

语句结构:

a.顺序

b.选择

if  条件

then

//满足条件运行语句

else

//不满足条件运行语句

fi

if  条件;then

//满足条件运行语句

else

//不满足条件运行语句

fi

if  条件;then

//满足条件运行语句

elif 条件

then

//满足条件运行语句

else

//不满足条件运行语句

fi

条件

条件格式:

1.test 比較

2.[ 比較 ]

比較的结果:$?

文件測试:

-d 測试文件是否是文件夹文件

-f 測试文件是否存在

-w 測试文件是否可写

-r 測试文件是否可读

-s 測试文件是否非空

-L 測试文件是否是符号连接

-x 測试文件是否可运行

[[email protected] shell2]# test -d aaaa

[[email protected] shell2]# echo $?

[[email protected] shell2]# [ -d aaaa ]

[[email protected] shell2]# echo $?

数字比較

-eq:相等

-ne:不等

-le:小于等于

-ge:大于等于

-lt:小于

-gt:大于

字符比較

= :相等

!=:不等

-z:空字符

-n:非空字符

-a:多个条件而且

-o:多个条件或者

case语句

case语法:

case  var  in

value1) 运行语句;;

value2) 运行语句;;

esac

[[email protected] shell2]# echo `expr $a + $b `

[[email protected] shell2]# echo $[$a+$b]

[[email protected] shell2]# echo $[a+b]

[[email protected] shell2]# let ‘a=1+2‘

[[email protected] shell2]# echo $a

练习:

case实现+-*/四则运算

c.循环

时间: 2024-10-17 04:41:33

linux基本知识2的相关文章

1、linux基础知识

第一天linux基础知识 1:linux操作系统组成 linux内核+GNU工具=完整的类UNIX系统 GNU工具(GNU软件是通过GNU项目发布的软件,它是一种根据GNU软件包的README手册以及自由软件指南开发的软件,大多数GNU软件是免费分发的,但不是所有的都这样,然而,所有的GNU软件必须是自由软件.) 2:linux发行版  slackware debian  reehad  Gentoo等 3:linux哲学思想 一切皆文件(硬件也已文件的形式展现在操作系统中) 小型,单一用途程序

Linux基础知识题解答(五)

题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. (1)155729 -rw-r--r--.  1 root root   35 Oct 28 2011  oldboy 请解析上面的每一列内容 文件inode号,文件访问权限,硬链接数,文件所属用户,文件所属组,文件最后修改时间,文件名 (2)描述下硬链接和软连接的区别 1.硬链接原文件/链接文件共用

Linux 小知识翻译 - 「syslog」

这次聊聊「syslog」. 上次聊了「日志」(lgo).这次说起syslog,一看到log(日志)就明白是怎么回事了.syslog是获取系统日志的工具. 很多UINIX系的OS都采用了这个程序,它承担了「获取系统全部的日志」这个维持系统正常运行的重要任务. syslog的本体是「syslogd」这个daemon(一般翻译成守护进程),常驻内存中获取日志. syslog的特点是可以通过配置文件「/etc/syslog.conf」,对「哪种应用程序?哪种重要度的信息?记录在哪个文件中?」等进行细致的

Linux 小知识翻译 - 「日志」(log)

这次聊聊「日志」. 「日志」主要指系统或者软件留下的「记录」.出自表示「航海日志」的「logbook」. 经常听说「出现问题的时候,或者程序没有安装自己预期的来运行的时候,请看看日志!」. 确实,记录了系统和软件详细运行情况的「日志」是信息的宝库,通过日志来解决问题的事例也非常多. 但事实上,「无论如何也不会看日志」的用户也有很多.理由很简单,日志的信息量非常大,全部用眼睛来看的话是非常吃力的. 而且,英语写的日志也会让英文不好的人敬而远之. 虽说「要养成用眼睛来看日志的习惯」,但实行起来却非常

linux基础知识第一节

用户接口: 是一种独特的应用程序,能够为用户提供启动其它应用程序的的机制 cli:命令提示符,用户输入要执行的命令即可, shell: 外壳 sh ,csh ,ksh ,   bash, zsh , tcsh gui: 通过点击操作来启动应用程序 gnome,  mainframe  大型机 多用户操作系统    多终端   终端:设备,显示器,鼠标,键盘 虚拟终端 表示:/dev/tty# ctrl-alt-f(1-6) 物理终端(控制终端)console 串行终端 伪终端 /dev/pts#

Linux 小知识翻译 - 「编译器和解释器」

这次聊聊「编译器和解释器」. 编程语言中,有以C为代表的编译型语言和以Perl为代表的解释型语言.不管是哪种,程序都是以人类能够理解的形式记录的,这种形式计算机是无法理解的. 因此,才会有编译器和解释器. 对于编译型语言,是使用编译器将人类可读的代码转换为机器能够理解的「机器语言」文件,然后通过执行这个「机器语言」文件来实现程序的执行. 另一方面,对于解释型语言,是使用解释器将人类可读的代码逐行解释,一边解释一边执行这个程序.(这里的解释是将代码解释成机器语言,让计算机能够理解) 甚至有的语言既

Linux 小知识翻译 - 「补丁」(patch)

这次,聊聊补丁. 当有bug或者安全漏洞的时候,就会发布补丁.打上补丁之后,就能解决相应的bug或者安全漏洞. 那么,「补丁」到底是什么呢? 「补丁」只有少量的代码,一般都是对程序的一部分进行更新或者追加,包括bug修正,安全漏洞修正,功能追加或者变更等等.当然,只有「补丁」是无法运行的. 即,只有将「补丁」附加到原来的程序中,更新原来的程序后,才能运行. 「补丁(patch)」本来是指「打补丁用的小布头」.「patch」正是为了补足现有的程序,堵住程序漏洞的「布头」. 打「补丁」的时候需要用到

Linux 小知识翻译 - 「协议(protocol)」

对于理解服务器和网络来说,「协议」是不可缺少的概念. 「协议(protocol)」有「规则,规定」的意思. 实际上「协议」的函数很广,在通信领域,「协议」规定了「在通信时,什么样的情况下,以什么样的顺序,什么样的方式交互什么样的数据」. 抽象的去理解「协议」可能会比较困难,下面来举个例子. 通过Web以HTML方式交互时使用的协议是「HTTP」(Hyper Text Transfer Protocol).这个协议最重要的就是规定了服务器和客户端之间以HTML方式交互的规则. 比如,客户端连接上服

Linux 小知识翻译 - 「Linux」怎么读?

主要讨论日语中的读法,所以没有完全按照原文来翻译. 「linux」的读法有很多(这里指在日语中),代表性的读法有以下几种: A). 李纳苦思 B). 李奴苦思 C). 纳依纳苦思 A和B相同的是将 linux开头的「li」发音成「李」.这也是linux之父Linus Torvalds的名字的日语假名(「リーナス?トーバルズ」)的由来. linux中「nu」的发音是怎么样的呢?Linux Online的网页上有说明,而且视频中还有 Linus Torvalds 的发音. http://www.li

Linux基础知识(2)

Linux基础知识: 一.程序管理: (1)程序的组成部分: (2)二进制程序: (3)配置文件: (4)库文件: (5)帮助文件: 二.程序包管理器: X: (1)程序的组成文件打包成一个或有限几个文件: (2)安装: (3)卸载: (4)查询: 三.安装Linux: 虚拟机安装Linux系统 需要设置计算机的CPU, 内存, IO等 四.虚拟化软件程序: vmwareworkstation和virtualbox虚拟机都可以安装系统 五.CentOS的镜像站点: http://mirrors.