Linux基础学习笔记1

时间:2024-05-23 00:07:14

MBR分区

主分区: 1-4,一块硬盘最多四个主分区,对主机必须有,主区可以格式化ntfs,存数据;

扩展分区:1-4,一块硬盘最多一个扩展分区,可以没有扩展分区,划分更小的单元,即逻辑分区;

逻辑分区:5----,可以格式化ntfs,存数据。

一般分区方法:

/boot   500m
/     50G
/data   60G
swap 一般为内存的2倍

查询系统简单信息:

hostname:查看主机名
lscpu:查看cpu信息
free -h: 查看内存信息
cat /proc/meminfo: 查看内存信息
lsblk:查看硬盘信息
ifconfig:查看网卡
cat /etc/centos-release:查看系统版本
lsb_release -a:查看系统本版本(更详细)
uname -r :查看内核版本
tty:查看当前设备的终端名
who(who am i):查看当前账户
echo ${shell}:显示当前所使用的shell
cat /etc/shells:显示当前系统所使用的所有shell名

命令提示符

显示命令提示符格式:echo $PS1
修改命令提示符格式:
PS1="\[\e[1;5;41;33m\][\u@\h\W]\\$\[\e[0m\]"
\e 表示颜色 \033 \u 当前用户
\h 主机名简称 \H主机名
\w 当前工作目录 \W当前工作目录基名
\t 24小时时间格式 \T12小时时间格式
\! 命令历史数 \#开机后命令历史数
命令行修改文件:nano .bash_profile

 执行命令

    输入命令后回车:提交shell程序找到键入命令对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。

在shell中可执行的命令有两种:
内部命令:由shell自带的,而且通过某种命令形式提供
enable 查看内部命令
help 内部命令列表
enable cmd 启用内部命令
enable -n cmd 禁用内部命令
enable -n 查看系统所有禁用的内部命令
外部命令:在文件系统路径下有对应的可执行程序文件
查看命令存放路径:whereis COMMAND;which COMMAND
     查看外部命令搜索路径:echo $PATH 区别指定的命令是内部或外部命令:type COMMAND

Hash缓存表

    系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率。
  hash常见用法
hash 显示缓存
hash -l 显示hash缓存,可作为输入使用
hash -p path name 将命令全路径path起别名为name
hash -t name 打印缓存中name的路径
hash -d name 清除name缓存
hash -r 清除缓存

命令别名

#想要别名一直生效则需要保存至系统的文件中!(存放至/etc/.bashrc文件中,使用命令nano修改)
显示当前shell进程中的所有可用别名:alias
定义别名NAME,其相当于执行命令VALUE: alias NAME = 'VALUE'
在命令行中定义的别名,仅对当前shell进程有效
如果想永久有效,要定义在配置文件中
仅对当前用户: ~/.bashrc
对所用用户有效:/etc/bashrc
~表示root的家目录(/root)
一般用户的家目录为/home/username
编辑配置给出的新配置不会立即生效,需要bash进程重新读取配置文件
source /path/config_file
. /path/config_file
撤销别名:unalias [-a] name [name...]
-a 取消所有别名
如果别名同原命令(内部、外部命令)相同,如果想执行原始命令,可使用以下几种方式
\ALIASNAME
"ALIASNAME"
'ALIASNAME'
command ALIASNAME
/PATH/ALIASNAME

命令格式

COMMAND [OPTIONS...] [ARGUMENTS...]
选项:用于启用或关闭命令的某个或某些功能
短选项:-c 例如:-l,-h
长选项:--word 例如:--all,--human-readable
参数:命令的作用对象,比如文件名、用户名 注意:
多个选项以及多参数和命令之间使用空白字符分隔
取消和结束命令执行:Ctrl+c,Ctrl+d
多个命令可以用;符号
一个命令可以用\分成多行

日期和时间

Linux的两种时钟
系统时钟:由Linux内核通过CPU的工作频率进行的
硬件时钟:主板
相关命令
date 显示和设置系统时间
date 030709422019.30
date -d @1509536033
hwclock,clock:显示硬件时钟
-s,--hctosys 以硬件时钟为准,校正系统时钟
-w,--systohc 以系统时钟为准,校正硬件时间 但上述修改只是权宜之计,在实际开发中,我们可以选定一台服务器(例如:172.16.0.1),然后让所有机器与该服务器时间同步即可。(注意与服务器之间网络能ping通)
ntpdate 172.16.0.1 立即修正与服务器之间的时间偏差(只是暂时同步)
修改文件永久生效:
在vim /etc/ntp.conf 文件中指定行添加server 172.16.0.1 iburst,然后systemctl start ntpd生效即可(在centos7环境下)
在nano /etc/ntp.conf 文件中指定行添加server 172.16.0.1 iburst,然后service ntpd start生效即可(在centos6环境下)
时区:/etc/localtime
显示整年日历:cal -y
显示所有时区: timedatectl list-timezones
查看当前时区情况:timedatectl status

修改centos7的网卡名称:

nano   /boot/grub2/grub.cfg
linux16那一行最后加上 net.ifnames=0
reboot后生效

简单命令

关机:halt,poweroff
重启:reboot
-f:强制,不调用shutdow
-p:切断电源
关机或重启:shutdown
shutdown [OPTION]... TIME [MEAASGE]
-r:reboot
-h:halt
-c:cancel
TIME:无指定,默认相当于+1
now:立刻,相当于+0
+m:相对时间表示法,几分钟之后;例如+3表示3分钟后关机
hh:mm:绝对时间表示,指明具体时间关机
用户登录信息查看命令:
  whoami:显示当前登录有效用户
  who:系统当前所有的登陆会话
  w:系统当前所有的登陆会话及所做的操作
nano 文本编辑 screen命令(字符界面的同步,可以理解为qq里面的远程桌面协助功能,但需要两台主机连接到同一ip):
  创建新的screen会话: screen -S [SESSIONNAME]
  加入新的screen会话: screen -x [SESSIONNAME]
  退出并关闭screen会话:exit
  剥离当前screen会话:Ctrl+a,d
  显示所有已经打开的screen会话:screen -ls
  恢复某screen会话:screen -r [SESSIONNAME] bc:进入linux环境下的计算器
命令扩展行:$()或``
  把一个命令的输出打印给另一个命令的参数,例如,echo "This system's name is $(hostname)";touch /data/`date +%F`.log(创建当天的系统日志文件)
括号扩展:{}
  打印重复字符串的简化形式,例如,echo file{1,2,3};echo{a..z} tab键:命令补全 命令行历史:history
  重复前一个命令,有四种方法:
    重复前一个命令使用上方向键,并回车执行
    按!!回车执行
    输入!-1回车执行
    按Ctrl+p并回车执行
  !:0 执行前一条命令(去除参数)
  !n 执行history命令输出对应序列号n的命令
  !-n 执行history历史中倒数第n个命令
使用up(向上)和down(向下)键来上下浏览从前输入的命令
ctrl -r 在命令中历史中搜索命令
ctrl+g:从历史中搜索模退出
要重新调用前一个命令中的最后一个参数:
  用!$ 表示
  Esc,.(点击Esc键后松开,然后点击.键)
history [-c] [-d offset][n]...
  -c:清空历史
  -d offset:删除历史中指定的第offset个命令
  n:显示最近的第n条历史

获取帮助

多层次的帮助
whatis
command --help
man and info
/usr/share/doc
其他网站搜索
命令帮助
内部命令:help command
man bash
外部命令:1)COMMAND --help
COMMAND -help
2)使用手册(manual)
man COMMAND
3)信息页
info COMMAND
4)程序自身的帮助文档
README
INSTALL
ChangeLong --help选项
  显示用法总结和参数列表
  示例: date --help
  Usage:date [OPTION]...[OPTION]...[+FORMAT] or:date [-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]]
  [] 表示可选项
  CAPS或<> 表示变化的数据
  ...表示一个列表
  x |y| z的意思是"x或y或z"
    -abc的意思是-a -b -c
  {} 表示分组  

man命令

提供命令帮助的文件
手册页存放在/usr/share/man
几乎每个命令都有man的"页面"
man页面分组为不同"章节"
统称为Linux手册
man命令的配置文件:/etc/man.config | man_db.conf
man -M /PATH/TO/SOMEWHERE:到指定位置下搜索COMMAND命令的手册页并显示 man章节
1.用户命令
2.系统调用
3.C库调用
4.设备文件及特殊文件
5.配置文件格式
6.游戏
7.杂项
8.管理类的命令
9.Linux内核API man帮助段落说明
NAME 名称及简要说明
SYNOPSIS 用法格式说明
[] 可选内容
<> 必选内容
a|b 二选一
{} 分组
... 同一内容可出现多次
DESCRIPTION 详细说明
OPTIONS 选项说明
EXAMPLES 示例
AUTHOR 作者
COPYRIGHT 版本信息
REPORTING BUGS bug 信息
SEE ALSO 其他帮助参考 man帮助
查看man手册页:man [章节] keyword
列出所有帮助:man -a keyword
搜索man手册:man -k keyword 列出所有匹配的页面
使用whatis 数据库
相当于whatis:man -f keyword
打印man帮助文件的路径:man -w [章节] keyword man命令的操作方法:使用less命令实现
space,^v,^f,^F:向文件尾翻屏
b,^b:向文件首部翻屏
d,^d:向文件尾部翻办屏
u,^u:向文件首部翻半屏
RETURN,^N,e,^E or j or ^J:向文件尾部翻一行
y or ^Y or ^P or k or ^K:向文件首部翻一行
q:退出
#:跳转至第#行
1G:回到文件首部
G:翻至文件尾部
/KEYWORD:以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
?KEYWORD:类似于/KEYWORD,不同的是向文件首部搜索。
n:跟搜索命令同方向;
N:跟搜索命令反方向;

info帮助命令

man常用于命令参考,GUN工具info适合通用文档的参考
没有参数,列出所有的页面
info的页面结构像是一个网站
每一页分为"节点"
链接节点之前*
info [命令]
方向键,PgUp,PgDn导航
Tab键 移动到下一个链接
d 显示主题目录
Home 显示主题首部
Enter进入 选定链接
n/p/u/l 进入下/前/上一层/最后一个链接
s 文字 文本搜索
q 退出 info
注意:相对而言,info的用不多

通过本地文档获取帮助

System->help(centos6)
Applications -> documentaation ->(centos7)
/usr/share/doc 目录
多数安装了的软件包的子目录,包括了这些软件的相关原理说明
常见文档:README INSTALL CHANGES

通过在线文档获取帮助

第三方应用官方文档
http://www.nginx.org
http://tomcat.apache.org
http://httpd.apache.org
http://www.python.org
通过发行版官方的文档光盘或网站可以获得
红帽知识库和官方在线文档
http://kbase.redhat.com
http://www.redhat.com/docs
http://access.redhat.com
网站和搜索
  http://tldp.org
  http://www.slideshare.net
  http://www.google.com
  Openstack filetype:pdf
  rhca site:redhat.com/docs