您的位置:首页 > 运维架构 > Linux

linux入门学习笔记

2012-08-10 20:23 405 查看
2012.8.5

linux 版本号 r.x.y

r:release version

x:偶数:稳定版本,奇数:开发中版本

y:错误修补的次数

进入根目录:cd /

询问当前目录是什么: pwd

查看当前目录下的文件:ls

linux分区的命名---/dev/xxyN

/dev/ : 这个字串是所有设备文件所在的目录名,因为分区在硬盘上,而硬盘式设备。所以这些文件代表了在/dev/上所有可能的分区

xx : 分区名的前两个字母标明分区所在设备的类型。通常是hd(IDE硬盘)或sd(SCSI硬盘)

y : 这个字母标明分区所在的设备,/dev/hda(第一个IDE磁盘) 或/dev/sdb(第二个SCSI磁盘)

N : 最后的数字代表分区,前四个分区(主分区或扩展分区)是用数字从1排列到4,逻辑分区从5开始,/dev/hda3表示IDE硬盘上的第三个主分区或扩展分区 /dev/sdb6是第二个SCSI硬盘上的第二个逻辑分区

删除目录:rmdir xxx

新建目录:mkdir xxx

挂载:mount

关机 shutdown now

查看当前用户: who am i

退出终端:exit

man +命令 查看命令的具体说明

2012.8.6

竖着列出文件 ls -l 最左边:以d开头的是目录 以-开头的是文件

删除目录 rmdir(只能删除空目录)

递归删除 rm -r xxx

强制递归删除 rm -rf xxx

创建目录 mkdir

创建一个空文件 touch xxx

复制文件: cp xxx yyy 把xxx复制一份名为yyy

递归复制文件 cp -r xxx yyy

移动文件 mv

vi:文本编辑器

vi 3.txt 创建文本文件 刚开始是命令模式 按 a 进入编辑模式 按esc退出编辑模式 按 : 命令模式 :x

保存(如果当前文件修改过)并退出

查找命令:find / -name *xxx* 从根目录开始查找,*代表通配符

whereis ls 查看ls命令从哪里来

ln 链接 注意和复制的区别(其中一个被修改了,另外一个也被修改) ln -s 软链接(相当于快捷方式)

添加用户:useradd xxx(在Home目录下面生成一个xxx用户文件)

修改用户密码 passwd xxx

more /etc/passwd 查看用户情况

删除用户:uerdel xxx 还需要把home目录下面的文件夹删除

切换用户:su 返回:exit

2012.8.7

文件权限:

ls -l

-rw-r--r-- 第一位-表示是文件,d表示是目录, 从第二位开始分三组,每组三个字母,r代表可读,w代表可写,x代表可执行,第一组表示文件所有者,第二组表示与所有者同组的人,第三组表示其他人

修改权限:chmod +x yyy 给yyy文件+x权限

用八进制数来表示: chmod 755 yyy(111,101,101),所以权限就是rwxr-xr-x

修改文件所有者:chown user1 xxx 把文件xxx的所有者改为user1

grep 查文本文件中哪一行包含了给定字符

如:grep xxx 4.txt

管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入

如: ls -rl | more

wall 通知所有登陆的人,如wall aa wall 'date'

重定向输出:如ls > cmd.txt 把命令执行的结果重新输入到cmd.txt文件里

两个>>则输入两次

如果命令执行错误,用 2> 则把错误输入到文件里

重定向输入: wall < cmd.txt 把文件内容显示给所有人

linux ftp 在安装系统时已经安装vsftp

启动ftp:service vsftpd start

检测是否已经启动ftp:ftp localhost

退出ftp:bye

linux 查ip ifconfig

注意防火墙:关闭防火墙 service iptables stop

匿名登入ftp :anonymous

在/var/ftp 目录下面的pub存放别人需要下载的文件

允许root用户上传:

/etc目录下的vsftpd.user_list和vsftpd.ftpusers里的root注释掉

2012.8.8

设置vsftpd开机自启动方法 chkconfig 命令

chkconfig --list 列出所有项目,利用管道 chkconfig --list | grep vsftpd

chkconfig vsftpd on 开启

类似的:防火墙也可在这里关闭开机自启动

chkconfig iptables off

远程登录到linux:SSH

启动:service sshd start

开机自启动:chkconfig sshd on

shh 客户端常用软件:putty

linux的jdk默认安装路径:usr/java

安装tomcat :解压缩gz文件 gzip -d xxx

解压缩tar文件 tar -xvf

重命名:mv xxxx yyyy 其实就是移动命令

bin文件夹下面启动startup.sh

首先需要指定JAVA_HOME环境变量:

JAVA_HOME=/usr/java/jdk1.6.0_33 这是之前jdk的安装路径

export JAVA_HOME

在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该此登录操作

查看进程:

ps -ef

ps -ef |grep tomcat

杀进程: kill **** 进程ID号

在本机上检测是否能够连接:

wget http://localhost:8080/

连接不上的情况:

防火墙、是否使用代理

JDK RPM Installation for Linux (32-bit)

--------------------------------------------------------------------------------

JDK Documentation

System Requirements

System Configurations

Installation Instructions

This procedure installs the Java SE Runtime Environment for 32-bit Linux, using an RPM binary bundle. Some Linux distributions, such as Ubuntu, are not RPM-based. In that event, please see the self extracting installation page.

The name of the downloaded file has the following format:

jdk-6u

<version>-linux-i586-rpm.bin

<version>

jdk-6u18-linux-i586-rpm.bin

To install, download this file and use the following instructions:

1. Download and check the file size.

You can download to any directory that you can write to.

2. Become root by running the su command and entering the root password.

3. Extract and install the contents of the downloaded file.

Change directory to where the downloaded file is located and run these commands to first set the executable permissions and then run the binary to extract and run the RPM file:

% chmod a+x jdk-6u <version>-linux-i586-rpm.bin% ./jdk-6u <version>-linux-i586-rpm.bin

Note that the initial " ./" is required if you do not have " ." in your PATH environment variable.

The script displays a binary license agreement, which you are asked to agree to before installation can proceed. Once you have agreed to the license, the install script creates and runs the file jdk-6u <version>-linux-i586.rpm in the current directory.

NOTE: If you want to only extract the RPM file but not install it, you can run the .bin file with the -x argument. You do not need to be root to do this.

4. Delete the rpm file if you want to save disk space.

5. Exit the root shell.

6. If you want to use Java within the browser, setup the plugin using the instructions in Manual Plugin Installation for Linux.

The RPM package creates two links: /usr/java/latest and /usr/java/default.

The /usr/java/latest link will always point to the version of Java that is considered the latest version. Subsequent upgrades of the package will overwrite this value if it is not the latest version.

By default, /usr/java/default points to /usr/java/latest. However, if administrators change /usr/java/default to point to another version of Java, subsequent package upgrades will be provided by the administrators and cannot be overwritten.

When the JDK is installed, links to javac, jar, and javadoc are also created apart from the JRE links. These links point to the appropriate tool referenced by /usr/java/default. This allows the user to easily run the default version of these Java tools.

A new service script, named jexec, is added to /etc/init.d. This script allows users to directly execute any standalone JAR file that has an execution permission set. This can be demonstrated using an example from the JDK:

cd /usr/java/jdk1.6.0/demo/jfc/SwingSet2

chmod +x SwingSet2.jar

./SwingSet2.jar

linux下jdk卸载

首先查看被安装的jdk

rpm -qa | grep jdk

rpm -qa:查看所有被安装的包

卸载 rpm -e --nodeps xxxxxxxxxxx

linux下使tomcat开机自启动

修改/etc/rc.local文件

在末尾添加:

JAVA_HOME=/usr/java/jdk1.6.0_33

export JAVA_HOME

/tomcat5/bin/startup.sh

因为开机并不一定会有用户登陆,所以需要添加JAVA_HOME环境变量

linux下添加环境变量

为每个用户都添加环境变量:

1:在/etc目录下打开profile文件

2:在文件的末尾行添加:export PATH=$PATH:xxxxxx

3:保存之后运行 source etc/profile 命令即可

source命令:简单来说就是将设置在文件中的配置信息马上生效

比如你设了一个alias,或者一个PATH

如果你不source修改的文件的话,只有等下次重启后才能生效

如果你source了就马上生效了

About Vi

进入vi的命令

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filename

vi filename....filename :打开多个文件,依次进行编辑

移动光标类命令

h :光标左移一个字符

l :光标右移一个字符

space:光标右移一个字符

Backspace:光标左移一个字符

k或Ctrl+p:光标上移一行

j或Ctrl+n :光标下移一行

Enter :光标下移一行

w或W :光标右移一个字至字首

b或B :光标左移一个字至字首

e或E :光标右移一个字至字尾

) :光标移至句尾

( :光标移至句首

}:光标移至段落开头

{:光标移至段落结尾

nG:光标移至第n行首

n+:光标下移n行

n-:光标上移n行

n$:光标移至第n行尾

H :光标移至屏幕顶行

M :光标移至屏幕中间行

L :光标移至屏幕最后行

0:(注意是数字零)光标移至当前行首

$:光标移至当前行尾

屏幕翻滚类命令

Ctrl+u:向文件首翻半屏

Ctrl+d:向文件尾翻半屏

Ctrl+f:向文件尾翻一屏

Ctrl+b;向文件首翻一屏

nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令

i :在光标前

I :在当前行首

a:光标后

A:在当前行尾

o:在当前行之下新开一行

O:在当前行之上新开一行

r:替换当前字符

R:替换当前字符及其后的字符,直至按ESC键

s:从当前光标位置处开始,以输入的文本替代指定数目的字符

S:删除指定数目的行,并以所输入文本代替之

ncw或nCW:修改指定数目的字

nCC:修改指定数目的行

删除命令

ndw或ndW:删除光标处开始及其后的n-1个字

do:删至行首

d$:删至行尾

ndd:删除当前行及其后n-1行

x或X:删除一个字符,x删除光标后的,而X删除光标前的

Ctrl+u:删除输入方式下所输入的文本

搜索及替换命令

/pattern:从光标开始处向文件尾搜索pattern

?pattern:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

:s/p1/p2/g:将当前行中所有p1均用p2替代

:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代

:g/p1/s//p2/g:将文件中所有p1均用p2替换

选项设置

all:列出所有选项设置情况

term:设置终端类型

ignorance:在搜索中忽略大小写

list:显示制表位(Ctrl+I)和行尾标志($)

number:显示行号

report:显示由面向行的命令修改过的数目

terse:显示简短的警告信息

warn:在转到别的文件时若没保存当前文件则显示NO write信息

nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符

nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始

mesg:允许vi显示其他用户用write写到自己终端上的信息

最后行方式命令

:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下

:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下

:n1,n2 d :将n1行到n2行之间的内容删除

:w :保存当前文件

:e filename:打开文件filename进行编辑

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:!command:执行shell命令command

:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入

:r!command:将命令command的输出结果放到当前行

寄存器操作

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字

ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。

VI的使用

--------------------------------------------------------------------------------

一、插入文本

┌──┬────────────┐

│命令│描述          │

├──┼────────────┤

│i  │在当前字符前插入文本  │

├──┼────────────┤

│I  │在行首插入文本      │

├──┼────────────┤

│a  │在当前字符后添加文本  │

├──┼────────────┤

│A  │在行末添加文本     │

├──┼────────────┤

│o  │在当前行后面插入一空行 │

├──┼────────────┤

│O  │在当前行前面插入一空行 │

├──┼────────────┤

│R  │以改写方式输入文本   │

└──┴────────────┘

二、移动光标

┌─────┬───────────┐

│命令   │描述         │

├─────┼───────────┤

│j或下箭头 │向下移动一行     │

├─────┼───────────┤

│k或上箭头 │向上移动一行     │

├─────┼───────────┤

│h或左箭头 │左移一个字符     │

├─────┼───────────┤

│l或右箭头 │右移一个字符     │

├─────┼───────────┤

│w     │右移一个词      │

├─────┼───────────┤

│W     │右移一个以空格分隔的词│

├─────┼───────────┤

│b     │左移一个词      │

├─────┼───────────┤

│B     │左移一个以空格分隔的词│

├─────┼───────────┤

│0     │移到行首       │

│Ctrl-F  │向前翻页       │

├─────┼───────────┤

│Ctrl-B  │向后翻页       │

├─────┼───────────┤

│nG    │到第n行        │

├─────┼───────────┤

│G     │到最后一行      │

└─────┴───────────┘

三、替换文本

┌─────┬──────┐

│命令   │描述    │

├─────┼──────┤

│$     │到行尾   │

├─────┼──────┤

│(     │到句子的开头│

├─────┼──────┤

│)     │到句子的末尾│

├─────┼──────┤

│{     │到段落的开头│

├─────┼──────┤

│}     │到段落的末尾│

└─────┴──────┘

四、删除文本

┌───┬───────────┐

│命令 │描述          │

├───┼───────────┤

│r   │替换一个字符      │

├───┼───────────┤

│c   │修改文本直到按下Esc健 │

├───┼───────────┤

│cw  │修改下一个词      │

├───┼───────────┤

│cnw  │修改接下来的n个词   │

└───┴───────────┘

五、文本编辑

┌──┬──────────────────────┐

│命寺│描述                    │

├──┼──────────────────────┤

│yy │将一行文本移到缺省缓冲区中          │

├──┼──────────────────────┤

│yn │将下一个词移到缺省缓冲区中          │

├──┼──────────────────────┤

│ynw │将后面的n个词移到缺省缓冲区中        │

├──┼──────────────────────┤

│p  │如果缺省缓冲区中包含一行文本,则在当前   │

│  │行后面插入一个空行井将缺省缓冲区中的声   │

│  │容粘贴到这一行中;如果缺省缓冲区中包含   │

│  │多个词,把这些词粘贴到光标的右边.     │

├──┼──────────────────────┤

│P  │如果缺省缓冲区中包含一行文本,则正当前    │

│   │行前面插入一个空行井将缺省缓冲区中的内    │

│  │容粘贴到这一行中;如果缺省缓冲区中包含    │

│   │多个词,把这些词粘贴到光标的左边    

  │

└──┴──────────────────────┘

六、保存退出

┌───────────┬───────────────┐

│命令         │描述             │

├───────────┼───────────────┤

│zz          │保存并退出          │

├───────────┼───────────────┤

│:w filename      │写入文件            │

├───────────┼───────────────┤

│:W          │写入文件           │

├───────────┼───────────────┤

│:x          │保存(如果当前文件修改过)并退出│

├───────────┼───────────────┤

│:q!          │不保存文件,直接退出      │

├───────────┼───────────────┤

│:q          │退出vi            │

VI常用技巧

VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。本文旨在介绍VI的一些最常用命令和高级应用技巧。

一、基本命令介绍

---- 1.光标命令

k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。

nG——跳转命令。n为行数,该命令立即使光标跳到指定行。

Ctrl+G——光标所在位置的行数和列数报告。

w、b——使光标向前或向后跳过一个单词。

---- 2.编辑命令

i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。

cw、dw——改变(置换)/删除光标所在处的单词的命令 (c=change、d=delete)。

x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。

---- 3.查找命令

---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。

---- 4.拷贝复制命令

---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。

二、常见问题及应用技巧

---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。

---- vi file

---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd

---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。

---- 您也可以在指定的行号后读入文件内容,例如使用命令“:3r /etc/passwd”从新文件的第3行开始读入 /etc/passwd的所有内容。

---- 我们还可以使用以下方法删掉文件中所有的空行及以#开始的注释行。

---- #cat squid.conf.default | grep -v ^$ | grep -v ^#

---- 2.在打开一个文件编辑后才知道登录的用户对该文件没有写的权限,不能存盘,需要将所做修改存入临时文件。

---- vi file

---- :w /tmp/1 保存所做的所有修改,也可以将其中的某一部分修改保存到临时文件,例如仅仅把第20~59行之间的内容存盘成文件/tmp/1,我们可以键入如下命令。

---- vi file

---- :20,59w /tmp/1

---- 3.用VI编辑一个文件,但需要删除大段的内容。

---- 首先利用编辑命令“vi file”打开文件,然后将光标移到需要删除的行处按Ctrl+G显示行号,再到结尾处再按Ctrl+G,显示文件结尾的行号。

---- :23,1045d 假定2次得到的行号为23和1045,则把这期间的内容全删除,也可以在要删除的开始行和结束行中用ma、mb命令标记,然后利用“:a,bd”命令删除。

---- 4.在整个文件的各行或某几行的行首或行尾加一些字符串。

---- vi file

---- :3,$s/^/some string / 在文件的第一行至最后一行的行首插入“some string”。

---- :%s/$/some string/g 在整个文件每一行的行尾添加“some string”。

---- :%s/string1/string2/g 在整个文件中替换“string1”成“string2”。

---- :3,7s/string1/string2/ 仅替换文件中的第3行到第7行中的“string1”成“string2”。

---- 注意: 其中s为substitute,%表示所有行,g表示global。

---- 5.同时编辑2个文件,拷贝一个文件中的文本并粘贴到另一个文件中。

---- vi file1 file2

---- yy 在文件1的光标处拷贝所在行

---- :n 切换到文件2 (n=next)

---- p 在文件2的光标所在处粘贴所拷贝的行

---- :n 切换回文件1

---- 6.替换文件中的路径。

---- 使用命令“:%s#/usr/bin#/bin#g”可以把文件中所有路径/usr/bin换成/bin。也可以使用命令“:%s//usr/bin//bin/g”实现,其中“”是转义字符,表明其后的“/”字符是具有实际意义的字符,不是分隔符。

修改linux默认启动级别

修改启动级别,不启动X-WINDOW

以管理员身份进入Linux,修改文件:/etc/inittab

找到“id:5:initdefault:”,其中的5就是X-Window,为默认运行级别,一般我们把5改为3即可。

一共有7种启动级别,分别为:

# 0 - halt (Do NOT set initdefault to this)

# 1 - Single user mode

# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)

# 3 - Full multiuser mode

# 4 - unused

# 5 - X11

# 6 - reboot (Do NOT set initdefault to this)

各个运行级的详细解释:

0 为停机,机器关闭。

1 为单用户模式,就像Win9x下的安全模式类似。

2 为多用户模式,但是没有NFS支持。

3 为完整的多用户模式,是标准的运行级。

4 一般不用,在一些特殊情况下可以用它来做一些事情。例如在笔记本电脑的电池用尽时,可以切换到这个模式来做一些设置。

5 就是X11,进到X Window系统了。

6 为重启,运行init 6机器就会重启。

0和6一般不用;

运行startx可启动到级别5。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: