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为扩展名。)
[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 ~]$
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
1.一切皆文件(硬件设备亦如此); 2.由众多目的单一的小程序组成,一个程序只做一件事,并且要好; 3.组合小程序完成复杂任务; 4.尽可能避免跟用户交互; 5.使用文本文件保存配置信息; 6.提供机制,而非策略。
*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地址是立即生效,但重启网络服务或重启主机,都失效
Shell内建命令
export命令用于将shell变量输出为环境变量,或者将shell函数输出为环境变量。
一个变量创建时,它不会自动地为在它之后创建的shell进程所知。而命令export可以向后面的shell传递变量的值。当一个shell脚本调用并执 行时,它不会自动得到原为脚本(调用者)里定义的变量的访问权,除非这些变量已经被显式地设置为可用。export命令可以用于传递一个或多个变量的值到任何后继脚本。
export(选项)(参数)
-f:代表[变量名称]中为函数名称; -n:删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中; -p:列出所有的shell赋予程序的环境变量。
1.严格区分字符的大小写; 2.文件名可以使用除斜线(/)以外的任意字符; 3.文件名不能超过255个字符; 4.以点号开头的文件为隐藏文件, 但是还有两个特殊文件: 一个点:表示当前目录和还有一个是点点(..):这表示当前目录的上一级目录
绝对路径:从根目录/显示出现的路径 相对路径:从当前位置显示出的路径。
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设备 提供的一种统一模型的接口。