linux基础(31-40)

1.MBR分区

分区命令

fdisk【选项】
fdisk -l代表列出当前磁盘信息
假设我们后来添加了一块硬盘,被系统识别为/dev/sdb,但未被分区,即显示doesn‘t contain a valid partition table,我们可以通过以下步骤对其进行分区:

fdisk /dev/sdb # 进入分区模式
# 输入m可以查看命令的帮助信息
# 输入n,代表add a new partition
# 此时弹出两个选项,一个p(主分区),一个e(扩展分区)
# 输入p
# 弹出partition number选项,即要求输入分区号,默认为1,直接enter
# 弹出first sector选项,即要求设置分区的起始位置,直接enter,即默认
# 弹出last sector选项,即要求设置分区的终止位置,可以通过增量方式显式设置这个分区的大小,比如+2048M,即2G大小
# 完成主分区添加

# 输入p,查看已经添加的分区
# 输入n,选择e,即添加扩展分区,后面一路enter,使用默认值*

# 输入n,可以看到此时有一个主分区,一个扩展分区,接下来在扩展分区上分逻辑分区,而逻辑分区编号只能从5开始,因为1~4是留给主分区和扩展分区使用的
# 输入l,添加一个逻辑分区,比如分给它2G
# 重复步骤再添加一个逻辑分区,选择大小的时候直接enter,将剩余空间全给它

# 完成分区,可以看出两个逻辑分区是在扩展分区内的

# 此时如果要删除某个分区,输入d,在输入分区对应的分区号,如2,就将扩展分区删除了,此时逻辑分区也没有了,只剩下主分区了

# 最后输入w,即真正完成磁盘分区

2.swap分区

如何为硬盘添加swap交换分区?

  1. 建立一个普通的Linux分区
  2. 修改分区类型的16进制编码
  3. 格式化交换分区
  4. 启用交换分区
fdisk /dev/sbd
p # 打印第二块硬盘的分区信息
t
6 # 选择最后一个分区作为swap分区
L # 查看编码列表,82是swap分区编号
82
p # 再次查看
w # 保存
mkswap /dev/sdb6 # 格式化swap分区
swapon /dev/sdb6 # 启用swap分区
free # 查看swap分区启用状况
swapoff /dev/sdb6 # 停用swap分区
wq # 保存退出

3.vim编辑器的操作模式

三种模式

  • command mode-命令模式
  • insert mode-输入模式
  • last line mode-底行模式(尾行,末行)
vim abc
# 按I键进入insert mode
hello world
111111
222222
333333
# 按esc键进入last line mode
:wq # 保存退出
vim abc # 再次进入文件
# 连按两下D键删除第一行,这便是command mode,通过命令直接操作

4.vim编辑器的命令模式

vim abc 定位到第一行
vim + abc 定位到尾行
vim +3 abc 定位到第三行,其他数字依次,如果超过文件最大行数,则光标定位到尾行
vim +/xxx abc 定位到xxx首次出现的行,通过按N键来回切换定位其他有xxx的行
vim aa bb cc 一次性创建或打开多个文件,一开始进入第一个文件,只要在底行模式中键入:n就依次进入其他文件,键入:N或者:prev依次回到前一个文件

 

5.查找

find . 可以查看当前目录所有嵌套的文件
find .|grep .txt 使用管道符
find . -type f 只想看到文件
find . -type d 只想看到目录
find . -type f -exec ls -l ‘{}‘ ‘;‘ 其中‘{}‘代表找到的文件
还可以使用ack,来自beyondgrep.com,具体使用见happycasts.net/episodes/26

6.脚本编程

指定解析器

如脚本第一行#!/usr/bin/env bash即指定bash为解析器,当然还可以将bash换成python、ruby等

语句即命令,命令即语句

terminal:
$echo "hello"
hello
script:
#!/usr/bin/env python
echo "hello"
脚本语句对空格非常敏感

位置参数

$即是位置参数
$peter.sh a.txt b.txt,则引用第一个参数用$0,第二个用$1,第三个用$2,以此类推

脚本中的语句不在当前shell执行

$ ls
bin Desktop happygrep mydir peter.sh
$ ls mydir/
$ vim peter.sh
#!/usr/bin/env bash
cd /home/peter/mydir
touch a.txt
$ ./peter.sh
$ ls mydir/
a.txt
当前工作目录没有改变,如果将第八行改成source peter.sh,当前目录就会变成脚本所在目录

循环控制

$ ls mydir/
a b c
$ vim rename.sh

!/usr/bin/env bash

cd $1 # 对应执行脚本时传入的第一个参数
for file in a b c
do
mv $file $file.txt
done
$ chmod +x rename.sh
$ ./rename.sh mydir/
$ ls mydir/
a.txt b.txt c.txt

远程执行

在本地执行一个脚本,此脚本中的命令作用在服务器上
如在本地写一个脚本mkfile.ssh:
ssh -t [email protected] ‘touch a.txt‘
执行脚本:
./mkfile.ssh
对服务器来说就相当于执行了此命令touch a.txt

7.进程

查看当前所有进程

ps aux|grep【要查找的内容】
ctrl+shift+c 复制内容
ctrl+shift+v 粘贴内容
例:vim启动vim,ps aux|grep vim查看进程号,如为4646,则要结束这个进程用kill 4646

后台执行

【程序名】 & 程序便在后台执行
使用ctrl+z结束程序

结束进程

kill【选项】
选项如9 强制杀死进程
Linux同时有7个工作台在运行,当正在使用的出现卡死情况时,ctrl+out+f1切换工作台,在这里可以杀死那个导致卡死的进程,然后ctrl+out+f7回到原先工作台

8.软件安装

安装方式Ⅰ

使用解压缩命令来解压,然后将程序放到echo $PATH的任意路径下,或者使用软链接,如ln -s ~/.sublime3/sublime_text ~/bin/subl,其中的subl是快捷命令名

安装方式Ⅱ

解压缩后进入软件目录下,然后做一下三步:

  1. ./configure
  2. make
  3. sudo make install

deb包安装【只适用于ubuntu系统】

程序本身 配置文件 安装位置 依赖关系
happycasts.net/episodes/14会讲解如何将源码打包成deb包
在deb所在的目录下sudo dpkg -i 【包名】.deb
dpkg -l 列出系统上所有的deb包

从apt-get仓库安装

sudo apt-get install git 安装git
sudo apt-get remove git 删除git
sudo apt-get purge git 删除git,连配置文件都一起删除
安装的时候也有tab补齐功能,敲两下tab键,它也能自动处理依赖问题

9.网络操作

只要ssh跑得通,那么就能用rsync
rsync -r mydir happycasts.net:【服务器上的路径】代表将本地的目录mydir上传到服务上
反过来,rsync -r happycasts.net:【服务器上的路径】mydir.代表将服务器上的目录下载到本地,最后的.代表当前目录
rsync -r mydir/ happycasts.net:mydir/可以同步客户端和服务器的对应目录,注意两个/都不能省,而且一般使用-a参数替代-r-av可以打印出一些有用信息
-a只能同步在客户端新创建的文件,而有时候本地还会删除一些文件,需要服务器也做相应删除除了,则应rsync -av --delete mydir/ happycasts.net:mydir/,但这样也是有风险的,一般在上面命令后再加一个--dry-run,会开启验证

10.用户和文件权限

三种权限

读:r;写:w;执行:x

三类人

所有者:owner;用户组:group;其他人:world
实际考虑的就是每类人是否拥有rwx三种权限

chmod--change file mode

ls -l a.txt
# -rw-rw-r-- 1 peter peter 0 Aug 30 11:57 a.txt
# a.txt对world没有写和执行权限
chmod rw-rw-rw- a.txt # wrong!
chmod 110110110 a.txt # wrong!
chmod 666 a.txt # right! 6对110就是二进制转八进制

实际上还可以通过chown命令来改变权限所对应的用户,具体看billie66的书《Linux命令行》第十章--权限

时间: 2024-11-04 16:45:22

linux基础(31-40)的相关文章

Linux基础命令快速入门

Linux基础命令 write by Booboo Wei [email protected] 摘要: 常用的命令 ls cd pwd 符号 * ? { } | 帮助命令 --help help type man info /usr/share/doc 针对文件的的基本操作 touch mkdir rmdir cp rm mv 针对文件内容的基本操作 cat tac head tail more less 文件的查看.编辑.过滤vi vim echo grep cut wc file 关于时间的

linux基础正则表达式、shell基础、文件查找和压缩

linux基础正则表达式.shell基础.文件查找和压缩 1.shell编程显示电脑的基本信息,初级基础脚本.只适合6.7版本的. COLOR="\033[1;36m" COLOREND="\033[0m" echo -e "CPU type is $COLOR `lscpu |grep 'Model name'|tr -s ' '|cut -d: -f2`$COLOREND" echo -e "Disk space is $COLOR

必须掌握的50条Linux基础操作命令

说明: 根据笔者平时使用情况,并结合参考一些其他资料,精心整理出以下必须掌握的50条Linux基础命令. 命令: 1. ssh 登录到远程主机 $ ssh -l jsmith remotehost.example.com 调试ssh客户端 $ ssh -v -l jsmith remotehost.example.com 显示ssh客户端版本 $ ssh -V 2. sed 当你将Dos系统中的文件复制到Unix/Linux后,这个文件每行都会以\r\n结尾,sed可以轻易将其转换为Unix格式

linux 基础题整理

基础题: 1.查看系统内核版本号及系统名称 2.查看smb服务所用的端口号 3.禁ping 4.查出22端口现在运行什么程序 5.登录提示符前的输出信息"you are welcome!!!" 6.成功登录后自动输出信息"距离全国比赛还剩1天!!!" 7.确认安全终端为tty1 8.取消普通用户的控制台访问的三个权限:reboot.halt.shutdown 9.只允许组ID为10的成员通过su命令改变为root用户 10.禁止Control-Alt-Delete键

运维基础--Linux基础命令

 Linux基础命令 刚接触Linux,往往会有一个印象就是Linux操作起来比我们熟悉的windows难,其实不然,只要了解熟知了Linux的CLI界面诸多的命令的用法就能使很多在GUI界面下的操作变的无比简单:以下是Linux使用中的几个基础命令: 1.cd: cd [-L|-P] [dir]  改变shell 的工作目录,默认是用户的家目录: cd DIR:切换到DIR目录: cd:   切换至当前用户的家目录: cd - :将工作目录切换至上一次的工作目录:两个目录之间的来回切换! 原理

linux基础知识题解答(九)

题目来自老男孩BLOG:http://oldboy.blog.51cto.com/2561410/1709569,比较适合新手,空余的时候做一下,可以巩固Linux基础知识,有不对的地方欢迎指正. (Linux用户权限-磁盘-网络) (1)列出 IPv4 的网络地址的分类,各分类容纳的网络数和主机数,以及前三类中的私有地址. A类:1~126,私有地址10.0.0.0~10.255.255.255 B类:128~191,私有地址172.16.0.0~172.31.255.255 C类:192~2

Linux基础之常用命令(二)

一. Linux系统上命令通用格式为: COMMAND    [OPTIONS]    [ARGUMENTS] 命令     选项      参数 1.  命令 命令可分为两类:内置命令和外部命令 内置命令:由shell自带的命令 例如:cd,break,(un)alias,type,file,history,pwd--是系统在启动之初就已经调入到内存中,是常驻内存之中,执行效率高 外部命令:独立的可执行文件,文件即命令:系统根据环境变量中的设置查找来执行.例如:ls.ifconfig.user

Linux基础的调优及安全设置

基础的调优及安全设置. a简单优化Linux 1.关闭Selinux [[email protected] selinux]#cd /etc/selinux/ [[email protected] selinux]# sed -i s#SELINUX=enforcing#SELINUX=disabled#g config [[email protected] selinux]# cat config # This file controls the state of SELinux on the

linux基础学习四

本次继续学习linux基础命令,包括stat.touch.cp.mv.rm.tree.mkdir.rmdir stat 命令格式 stat [OPTION]... FILE... 命令功能 显示文件的时间戳,即访问时间.修改时间和改变时间 stat [OPTION]... FILE...      [[email protected] ~]# stat newfile       File: `newfile'      Size: 0          Blocks: 0          I

(赵小明RHCE笔记)linux基础之四 权限详解

一.special permissions for executables1.special permissions for executables:  -suid:command run with permissions of the owner of the command,not executor of   the command  -sgid:command runs with group affiliation of the group of the commandeg:file:us