linux学习分享(第一周)

2021/7/12 7:06:20

本文主要是介绍linux学习分享(第一周),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别

Debian是三大发行版中唯一以社区形式运作,不以商业公司形式运作。是一个致力于创建自由操作系统的合作组织。而且debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程。

Fedore是一款基于linux的操作系统,也是一组维持计算机正常运行的软件集合。由红帽公司赞助。

suse是基于Slackware二次开发的一款Linux,主要用于商业桌面、服务器。

不同发行版之间的联系: 所有发行版都是使用Linux内核;都需要遵循GNU的GPL(General Public License)协定

不同发行版之间的区别: 发行版的本质区别,在于继承不同版本的内核,库、程序的组成。不同发行版几乎采用了不同包管理器(SLES、Fedora、openSUSE、centos、RHEL使用rmp包管理系统,包文件以RPM为扩展名;Ubuntu系列,Debian系列使用基于DPKG包管理系统,包文件以deb为扩展名。)

 

二、安装Centos7.6操作系统,创建一个自己名字的用户名,并可以正常登录,将主要步骤截图

[root@centos7 ~]# useradd jiax
[root@centos7 ~]# echo "jiax" | passwd --stdin jiax
Changing password for user jiax.
passwd: all authentication tokens updated successfully.
[root@centos7 ~]# su - jiax
[jiax@centos7 ~]$ 
​
[root@ubuntu ~]# useradd jiax
[root@ubuntu ~]# echo "jiax" | passwd --stdin jiax
Changing password for user jiax.
passwd: all authentication tokens updated successfully.
[root@ubuntu ~]# su - jiax
[jiax@ubuntu ~]$ 

三、配置环境变量,实现执行history的时候可以看到执行命令的时间

1.在~/.bash_profile文件中新增一行,写入:export HISTTIMEFORMAT="%Y-%m-%d %T whoami ",保存退出

# .bash_profile
​
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi
​
# User specific environment and startup programs
​
PATH=$PATH:$HOME/.local/bin:$HOME/bin
​
export PATH
export HISTTIMEFORMAT="%Y-%m-%d %T `whoami` "
​
​
2.使更新后的文件生效,有两种方式source和.
[jiax@centos7-jiax ~]$source .bash_profile 
​
3.验证效果
root@centos7-jiax ~]# history
 2021-07-09 21:43:32  root su -root
 2021-07-09 21:43:32  root su
 2021-07-09 21:43:32  root su root
 2021-07-09 21:43:32  root vim test.sh
 2021-07-09 21:43:32  root sh test.sh 
 2021-07-09 21:43:32  root ./test.sh
 2021-07-09 21:43:32  root chmod -:
 2021-07-09 21:43:32  root chmod o+x test.sh
 2021-07-09 21:43:32  root ./test.sh
 2021-07-09 21:43:32  root sh /etc/mycode/test.sh

四、总结Linux哲学思想

1.一切皆文件(硬件设备亦如此); 2.由众多目的单一的小程序组成,一个程序只做一件事,并且要好; 3.组合小程序完成复杂任务; 4.尽可能避免跟用户交互; 5.使用文本文件保存配置信息; 6.提供机制,而非策略。

五、总结Linux常用命令使用格式,并用实例说明

*echo

 echo:输出信息 
      echo "abc" 
      echo "字符串" | passwd --stdin USERNAME:利用管道修改用户密码

*screen

screen:模拟多个窗口,窗口关闭后还可以调出来,常用于需要执行很长时间的时候,
如内核编译
    screen -ls:显示已经建立的屏幕
    screen:打开一个新的屏幕
    exit:退出当前屏幕
    screen -r ID:返回某个屏幕

*date

date:显示系统时间 
    clock:显示硬件时间 
    hwclock -W:把系统时间同步到硬件时间 
    hwclock -s:把硬件时间同步到系统时间 
    cal:显示日历

*ifconfig

ifconfig:查看和配置系统的网络信息
    [ethX]:显示某个网卡信息
    -a:显示所有的网卡信息
    ifconfig ethx IP/MASK :配置网卡地址(子网掩码必须指定)
    ifconfig ethx [up|down]:开启或者禁用网卡
    配置Ip地址是立即生效,但重启网络服务或重启主机,都失效 

*export命令

Shell内建命令

  export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。

  一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。

export(选项)(参数)

选项

-f:代表[变量名称]中为函数名称;
-n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中;
-p:列出所有的shell赋予程序的环境变量。

 

6、描述Linux发行版的系统目录名称命名规则以及用途

一 、系统目录名称命名规则:

1.严格区分字符的大小写; 2.文件名可以使用除斜线(/)以外的任意字符; 3.文件名不能超过255个字符; 4.以点号开头的文件为隐藏文件, 但是还有两个特殊文件: 一个点:表示当前目录和还有一个是点点(..):这表示当前目录的上一级目录

二、文件路径:
  绝对路径:从根目录/显示出现的路径           
 相对路径:从当前位置显示出的路径。
三、Linux发行版基本目录架构及用途描述:

Linux的重要思想之一就是“一切皆文件”,Linux将一切资源归结为文件,那就必然将一切的资源都纳到一个完整的目录树的文件系统结构中。 Linux的目录结构呈现倒置的树形结构。 那么我可以通过 tree 命令查看到 它的全貌。 直接 tree / 可以查看到 / 目录下的全部子目录

各个目录的作用简介

/boot 系统启动引导文件存放此目录,内核文件以及引导加载器都存放在此目录下 /bin 存放所有用户的基本命令,该目录不可以独立分区,系统启动时会使用此目录下的文件 /sbin 存放管理类的基本命令,该目录不能独立分区,系统启动时会使用此目录下的文件。 /lib 存放系统启动时程序依赖的基本共享库文件和内核模块文件(/lib/modules) /lib64 专用于x86_64系统上的辅助共享库文件存放的位置 /etc 配置文件目录 /home 普通用户的家目录 /root 管理员用户的家目录 /media 移动式设备的挂载点 /mnt 临时文件系统挂载点 /dev 设备文件和特殊文件存储位置 /opt 第三方引用程序的安装位置 /srv 系统运行的服务用到的数据 /tmp 产生临时文件的程序提供的存储临时文件的目录 可以执行用户执行写入权限,有特殊权限 /tmp 临时文件存储位置 /usr 全局共享的只读数据路径 /var 存储常发生变化的数据库的目录 一般情况下,使用较多的时 /var/log 日志目录 /proc 基于内存的虚拟文件系统,为内核和进程存储其相关信息,多为内核参数。 /sys sysfs虚拟文件系统提供一种比proc更加理想的访问内核数据的途径。用于管理Linux设备 提供的一种统一模型的接口。



这篇关于linux学习分享(第一周)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程