Linux入门挑战(一)
Linux哲学思想
1. 一切皆文件,包括硬件也能看到以文件的形式存在。 2. 小型,单一用途的程序。 3. 链接程序,共同完成呢复杂的任务,一个程序只做一件事,并且要做好,保证linux程序的高效运行。需要组合多个程序完成复杂任务。 4. 尽量避免跟用户交互:(程序启动到结束不需要用户参与) 目标:易于以编程的方式实现自动化任务。 5. 配置数据存储在文本当中,便于阅读以及修改。
Linux发行版本
三大流派
1、Slackware
1. SUSE Linux Enterprise Server (SLES) 2. OpenSuse桌面
2、debian 迄今为止最遵循GNU规范的Linux系统
1. Ubuntu 基于Debian的unstable版本加强而来
2. deepin
3. mint
3、redhat
1. RHEL:RedHat Enterprise Linux,每18个月发行一个系版本
2. CentOS: 兼容RHEL的格式
3. Oracle
4. 中标麒麟:中标软件
5. Fedora:每6个月发行一个新版本(测试版本)
4、ArchLinux:轻量简洁
5、Gentoo:极致性能,不提供传统安装程序,需要使用源代码进行编译安装
6、LFS:Linux From scratch 自制系统(说明书、文档)
7、Android:kernel+busybox(工具集)+ java虚拟机
三者之间的关系
Linux实际只是一个操作系统的内核,不是一个完整的系统,并且是开源的,都是基于GPL协议发布对的,只要遵循此协议任何人都可以在原有的软件构成的基础上再开发和发布,因此Centos诞生
既Linux内核+GNU工具包=新的发型版本
CentOS7.6系统安装并创建个人用户
一、规划磁盘使用空间(磁盘总大小200GB)
/dev/sda1 mount /boot 1G mount point
/dev/sda2 mount / 100G
/dev/sda3 mount /data 50G
/dev/sda4 extend 50G
/dev/sda5 逻辑分区 swap 4G
二、检查安装镜像是否完整,选择默认第二个选项
三、设置系统安装相关选项(时区、磁盘、关闭KDUMP、网络)
1. 磁盘按照上述分区规划进行分区,选择【I will configure partitioning】--->【Done】

2. 分区选择标准分区进行增加分区,根据上述分区规划进行挂载点增加



3. 设置root用户密码和增加个人普通用户,取消普通用户的管理员权限


5. 点击【Done】等待安装完成
四、增加使用命令history能够显示历史命令执行的时间
touch /etc/profile.d/env.sh(也可以之间进行vim /etc/profile.d/env.sh 或 nano /etc/profile.d/env.sh)
vim /etc/profile.d/env.sh
或
nano /etc/profile.d/env.sh
#增加新内容
HISTTIMEFORMAT='%F %T '
#保存退出,注销重新登录即可显示
Linux部分常用命令详解
echo 命令详解
格式:
echo string
显示普通字符:
echo "it is a test" 或者 echo it is a test
显示转义字符:
echo "\"it is a test\"" 双引号同样可以省略掉
转义字符:
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
显示变量:
echo $PS1
显示换行:
echo -e "yes \n" #-e的参数为开启转义
echo "go go go"
输出结果:
yes
go go go
显示不换行:
echo -e "yes \c" # -e开启转义 \c 不换行
echo "go go go"
输出结果: yes go go go
显示结果定向至文件:
echo "yes" > 1.txt
原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
输出结果: $name\"
显示命令执行结果
echo `date`
ifconfig 命令详解
ifconfig 网络接口 [选项] 地址/参数
| 序号 | 选项/参数 | 说明 | 示例 |
| 1 | -a | 查看系统拥有的全部网络接口 | ifconfig -a |
| 2 | 网络接口 | 指定操作某个网口 | ifconfig eth0 192.168.1.125 |
| 3 | broadcast | 设置网口广播地址 | ifconfig eth0 broadcast 192.168.1.255 |
| 4 | netmask | 设置网口子网掩码 | ifconfig eth0 netmask 255.255.255.0 |
| 5 | hw ether | 设置网卡物理地址 | ifconfig eth0 hw ether 11:22:33:44:55:66 |
| 6 | up | 激活指定网卡 | ifconfig eth0 up |
| 7 | down | 关闭指定网卡 | ifconfig eth0 down |
| 序号 | 描述 |
|---|---|
| 1 | 使用ifconfig命令操作网口需要root权限 |
| 2 | 使用ifconfig修改网卡配置无需重启系统,但不能复位保存 |
| 3 | 可以同时配置网口的多个参数 |
使用ifconfig同时配置网卡多个参数的范例:
$ sudo ifconfig eth1 192.168.1.125 netmask 255.255.255.0 broadcast 192.168.1.255 up
screen 命令详解
screen命令,实际上,他的作用可以形象的描述为:就像windows打开一个窗口,在窗口内运行一个任务,每个窗口的任务各不冲突,它可以保持任务在远程连接断开之后,依然在保持执行。这是一个极大的优点。
1. 创建新的任务screen
screen -S windowName
执行命令之后,相当与到了一个有标识的命令行,当前的所有操作,都是在这个命令行里面执行;
2. 回到主screen(让某个screen后台运行)
ctrl+a+d
3. 列出存在的screen
screen -ls
执行后会列出已经存在的screen,
一般是格式是:id.windowName,
id是系统自己分配的,
windowName是创建时候自己命名的。
后面有状态detach(离线)、attach(在线)、dead(死进程),这里的离线在线代表的是是否有人再使用,如果有时候在有个screen中,由于网络原因断开各种原因,会导致下次进来,screen状态是 attach,这个时候要回到该screen,就必须让其先离线,然后在进入。如果是状态为dead,那么用screen -wipe id清理。
4. 回到某个后台运行的screen
screen -r id
5. 让某个screen离线
screen -d id
6. 结束(关闭)某个screen
首先进入该screen【参照4】,然后结束里面的程序,命令行输入:exit即可
date 命令详解
date命令可以按照指定格式显示日期,只键入date则以默认格式显示当前时间
例如:
![]()
如果需要以指定的格式显示日期,可以使用“+”开头的字符串指定其格式,详细格式如下:
%n : 下一行 %t : 跳格 %H : 小时(00-23) %I : 小时(01-12) %k : 小时(0-23) %l : 小时(1-12) %M : 分钟(00-59) %p : 显示本地 AM 或 PM %r : 直接显示时间 (12 小时制,格式为 hh:mm:ss [AP]M) %s : 从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数 %S : 秒(00-60) %T : 直接显示时间 (24 小时制) %X : 相当于 %H:%M:%S %Z : 显示时区 %a : 星期几 (Sun-Sat) %A : 星期几 (Sunday-Saturday) %b : 月份 (Jan-Dec) %B : 月份 (January-December) %c : 直接显示日期与时间 %d : 日 (01-31) %D : 直接显示日期 (mm/dd/yy) %h : 同 %b %j : 一年中的第几天 (001-366) %m : 月份 (01-12) %U : 一年中的第几周 (00-53) (以 Sunday 为一周的第一天的情形) %w : 一周中的第几天 (0-6) %W : 一年中的第几周 (00-53) (以 Monday 为一周的第一天的情形) %x : 直接显示日期 (mm/dd/yy) %y : 年份的最后两位数字 (00.99) %Y : 完整年份 (0000-9999)
根据您自己需求就行组合
![]()
export 命令详解
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
语法格式: export [参数]
常用参数:
| -f | 代表[变量名称]中为函数名称 |
| -n | 删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中 |
| -p | 列出所有的shell赋予程序的环境变量 |
参考实例:
列出当前所有的环境变量:
root@CentOS7[09:19:27]:~# export -p
定义环境变量:
root@CentOS7[10:27:26]:~# export MYENV
定义环境变量赋值:
root@CentOS7[10:29:23]:~# export MYENV=7
与该功能相关的Linux命令:


浙公网安备 33010602011771号