【笔记】Linux笔记

一、vi有两种工作模式,任何时刻都处于两种模式之一

命令模式(打开或者创建一个文件时,vi处于命令模式。)

输入模式(在输入模式下通过按ESC返回命令模式。)

二、基本命令

:w 保存

:q 退出

:q! 强行退出vi,在这种情况下文件的内容不变(不会自动保存)。

:wq 保存并退出 或 用 :x

:n,mw filename 将第n~m行的文本保存到指定的文件filename中

三、移动光标

光标的移动必须是在命令模式

方向键←↑↓→ 或者 h k j l

nG ——代表跳转到第n行,如9G,就跳转到第9行

G ——代表跳转到最后一行

0  (数字0)——跳转到句子的首部

$ ——跳转到句子的尾部

<enter> ——移动到下一行行首

3<enter> ——光标下移3行

四、文本输入

通过vi常用命令操作练习

cd
cp /etc/profile .
vi profile

最基础的是 a,i,o 三种

a ——在光标当前所在字符位置后输入数据

A ——在光标当前所在行的行尾输入数据

i ——在光标当前所在字符位置前输入数据

I   (大写i)——在光标当前所在行的行首输入数据

o ——在光标当前所在行后插入数据

O ——在光标当前所在行前插入数据

五、删除命令

最基础的是 x,dw,dd 三种

nx ——代表删除光标内及以后的n个字符

nX ——代表删除光标之前n个字符

dw ——代表删除光标之后的字(单词)或部分字(单词)

ndd ——代表删除n个文本行

D —— 代表删除光标之后的字(单词)或部分字(单词)并向前移

六、撤回操作

u ——撤销刚才那个动作

七、复制与粘贴

nyy ——拷贝当前光标所在的连续n行

p ——将上一步的复制操作在光标处进行粘贴

八、多行注释

将光标移动至需要注释的文本行行首

命令模式下输入Ctrl+v

移动光标至需要注释的最后一行文本行行尾 

然后输入(大写)I后 输入注释符(“//”、“#”等)

最后按下“Esc”键

若要取消注释 则使用 Ctrl+v 将要删除的注释符选中后 输入x或d即可

九、替换所需字符

替换每一行中所有 j为 a1

:%s/j/a1/g

十、压缩和解压缩文件

tar用于将文件进行归档,即将一系列的文件归档到一个文件中,需要时也可以将归档的文件解开,归档之后的大小和原来一样。其格式如下:

tar  [参数]  打包文件名  文件

tar命令很特殊,其参数前面可以使用“-”,也可以不使用。

(1)、压缩

 使用tar命令将指定目录中的所有文件打包到tbak.tar中

tar cvf tbak.tar tdir
tar xvf tbak.tar

x表示解压文件; v表示显示解压过程; f是必须的选项

xvfz    cvfz

tar命令中的参数-z和-j用于压缩文件,前者为以gzip格式压缩,后者则是以bzip2格式压缩

十一、安装tree

预安装tree的命令:sudo apt-get install tree (安装之前需要连接互联网)

十二、C语言编译:

gcc -o tt tt.c  将tt.c文件的内容编译并保存文件为tt

十三、cat命令

cat命令后面可以接多个文件名,依次将其内容显示出来。还可以使用重定向符“>”将多个文件合并输出(重定向符“>”的使用,后面将详细阐述)到另一个文件中。

cat c1.txt c2.txt > c3.txt

意为: c1.txt 和 c2.txt 中的内容 输入 c3.txt 中

cat -n .profile

意为: 查看.profile文件内容  -n表示加入行号

十四、ls -l

用ls -l命令可以查看指定目录的7个字段的列表

r表是读 (Read) 、w表示写 (Write) 、x表示执行 (eXecute)

前三个表示文件拥有者的权限,中间三个表示文件所属组拥有的权限,最后三个表示其他用户拥有的权限。

十五、文本内容显示

1、head命令

head /etc/passwd  显示文件前10行

head –c 100 /etc/passwd  显示前100个字节数据内容

head –n 3 /etc/passwd  显示前3行数据内容

2、tail命令

默认显示组后十行

tail /etc/passwd  显示文件最后10行

tail –c 100 /etc/passwd  显示最后100个字节数据内容

tail –n 3 /etc/passwd  显示最后3行数据内容

3.Sort命令

将文件数据排序后显示在屏幕上

sort -r xxxx 将文件数据逆序后显示在屏幕上。

 

4.Uniq 命令

将重复行从输出文件中删除

5.diff 命令

diff逐行比较两个文件

比较两个文件,观察其不同之处。将/etc/profile文件拷贝到当前目录,修改profile文件的若干行内容。使用如下命令进行比较:

十六、文件和命令查找

1.搜索命令

 grep命令:在指定文件中搜索特定的字符内容,并将含有这些字符内容的行输出:

 例: 搜索/etc/vsftpd目录下后缀为.conf文件中,其内容中包含“anon”字符串的文本行:

 grep anon  /etc/vsftpd/*.conf

查看/etc/passwd文件,查看含有home的行。

此时可以使用命令:cat /etc/passwd |grep home  

这句话的含义是,将/etc/passwd文件内容打印出来,但是不是打印到屏幕上,而是将输出内容重定向到grep中,在grep命令中对home字符串进行过滤。将含有home的字符串,打印到屏幕上。

-c选项:表示匹配字符串的数量,默认情况下,grep是打印出包含模式的所有的行,加上-c之后。就只显示包含模式的行的数量!

2.ps -ef命令

观察是否有syslog进程在后台运行。

ps –ef显示有大量的进程信息。使用ps -ef|wc –l 将ps –ef的信息作为输入

在文本中搜索syslogd关键词  ps -ef|grep syslogd

3.wc -l 命令

计算输入文本的行数

4.find命令

 查找/etc目录下所有以*.conf为扩展名的文件:

find /etc -name *.conf

 查找/etc中的所有目录:

find /etc -type d

十七、拷贝命令

将/etc/passwd 拷贝到本地

cp /etc/passwd   ./passwd2

十八、系统信息显示

1、uname 命令:显示计算机和操作系统相关信息

2、hostname命令:显示或修改主机名、

 

3、free命令 : 查看内存信息

 4、du 命令 : 显示目录或者文件的磁盘占有量

5、whoami : 显示自身用户名称

 十九、关闭和重启Linux系统

1、shutdown命令 (需要在命令前增加sudo)

shutdown -h now  立即关闭计算机

shutdown –h 45 45分钟后关闭计算机

shutdown -r now “system will reboot now” 立刻重启并且给出警告

shutdown –r 01:38

2、reboot 命令

引发重启

二十、查看系统的进程

ps [参数]——查看系统的进程。

1)ps a 显示现行终端机下的所有程序,包括其他用户的程序。

2)ps -e  此参数的效果和指定"A"参数相同。

3)ps e   列出程序时,显示每个程序所使用的环境变量。

4)ps f    用ASCII字符显示树状结构,表达程序间的相互关系。

5)ps -t  <终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。

6)ps u  以用户为主的格式来显示程序状况。

7)ps -l    较长较详细地显示进程信息

二十一、进程控制

1、 kill命令——给进程发送信号

kill命令的格式为:kill [参数] 进程1  进程2…

-signal:signal是信号类别,如:SIGKILL。

kill –SIGKILL 835

二十二、文件的权限管理

1、文件的用户对象:  

分为属主用户、属组、其他用户和所有用户,分别以如下的符号表示:

u:属主,即文件或目录的所有者,拥有对文件最大的读写权限。

g:属组,即与文件属组有相同组ID的所有用户。

o:表示其他用户,通常只具有浏览权限。

a:表示以上所以用户。

2、接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。

 [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行

如果没有权限,就会出现减号[ - ]

3、Linux文件属主属组

 4、更改文件属性

1)chgrp:更改文件属组

语法:chgrp [-R] 属组名 文件名

-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。

2)chown:更改文件属主,也可以同时更改文件属组

语法:chown [–R] 属主名 文件名                              chown [-R] 属主名:属组名 文件名

3)chmod:更改文件9个属性

文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的。

例:去掉文件profile的可写属性

chmod -w profile

 例: 为run文件增加可执行属性使其可以被执行

chmod +x run

 例 : 为profile文件不同用户设置不同权限

chmod u=rwx,g=r profile

注: u为属主 g为属组

例 : 为profile文件直接设定所有的访问权限:

chmod 777 profile

二十三、认识用户和组

1、用户账号信息

/etc/passwd

通常在Linux中的所有账户信息都记录在/etc/passwd中。对所有用户可读,但只用root组中的用户才能修改。

2、使用命令less /etc/passwd 可以观察passwd文件:

3、当用户较多的时候,可以使用grep命令搜索到需要的行

 二十三、管理用户账号

1)adduser 添加用户账号

 2)切换到新建用户账号

su user1

 3)useradd添加用户账号

useradd 的命令格式为: useradd [option] username

sudo useradd -s /bin/sh -g group gem

此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于group用户组

例 : 创建用户newuser,设置用户家目录,且指定其用户属于hadoop群组

 4)修改密码

passwd

在超级用户权限下为newuser用户修改口令

 

 5)删除用户

userdel  [-r]  [用户名]

如果使用参数-r,则表示在删除用户的同时,将该用户的主目录一并删除

如果不使用-r则该用户的家目录会残留,需要使用sudo rm -rf /home/user1进一步清理

 例 :删除用户newuser

二十四、Shell入门

Shell 是一个用 C 语言编写的程序

Shell 既是一种命令语言,又是一种程序设计语言

例 : 

#!/bin/bash
echo "Hello World!"

#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell。

这里采用bash shell

二十五、Shell变量

定义变量:

1)定义变量时,变量名不加美元符号

2)变量名和等号之间不能有空格

变量名的命名须遵循如下规则:

1、命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。

2、中间不能有空格,可以使用下划线(_)。

3、不能使用标点符号。

4、不能使用bash里的关键字(可用help命令查看保留关键字)。

使用变量:

使用一个定义过的变量,只要在变量名前面加美元符号即可

例 : 

二十六、Linux目录结构

常见的 Linux 系统目录如下:
/ Linux 系统的根目录,包含 Linux 系统的所有目录和文件。
/ etc :有关系统设备与管理的配置文件。
/ sbin :存放系统启动时所需的运行程序。
/bin :该目录中含有常用的命令文件,不能包含子目录。
/boot :操作系统启动时的核心文件。
/usr/local :存放用户后期安装的应用程序文件。
/root :超级用户主目录。
/dev :接口设备文件目录,保存外围设备代号。
/mnt :设备文件的挂接点,默认有 /mnt/cdrom /mnt/floppy 两个目录,分别用于挂载光驱和软驱。
/home: 这是系统预设的使用者家目录 (home directory) 。 在你新增一个一般使用者帐号时,预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号: ~ :代表当前使用者的家目录

二十七、Linux 逻辑表达式(≥、≤、=)

-lt ——功能相当于<

-le ——功能相当于≤

-gt ——功能相当于>

-ge ——功能相当于≥

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值