Linux From Scratch    自制Linux

官网:http://www.linuxfromscratch.org

中文版LFS-ver7.7https://linux.cn/lfs/LFS-BOOK-7.7-systemd/

 

设置开机自动登录:

vim /etc/gdm/custom.conf

[daemon]

AutomaticLoginEnable=true

AutomaticLogin=root

 

设置网卡开机自启:

vim /etc/sysconfig/network-scripts/ifcfg-ens33

ONBOOT=yes

 

XshellSecureCRT登录的话,由于是字符界面,不支持gedit,可改用nano工具

Ctrl+X退出nano

Y保存

指定文件名后回车退出

 

cat 查看文件内容

 

查看用户唯一编号id -u

uid0的帐号是管理员帐号,一般是root用户,可以修改

centos6的第一个帐号的默认uid500centos7的第一个帐号的默认uid1000

 

终端切换:

Alt+F1    切换至图形界面终端

Ctr+Alt+F2~F6            切换至字符界面终端

tty   查看终端号

who       查看登录本机的终端、用户、登录时间

tty#为本机终端,pts/#为远程连接

whoami 显示当前用户名

who am i      显示当前用户名、终端、登录时间

who is #

w    显示各用户的用户名、终端、登录方式、登录时间、正在运行的程序等

 

init 3      关掉图形界面

init 0      关机

init 5      开启图形界面

startx     开启图形界面,Linux里图形界面是一个软件,不是必需的

runlevel 查看当前工作模式

 

echo $SHELL 查看当前SHELL

cat /etc/shells     显示当前系统使用的所有shell

/bin/csh        切换到csh

不同的shell命令不全一样

 

hostname     显示主机名

echo $PS1     PS1是提示符的格式

修改提示符格式

PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"

\e \033                       \u 当前用户

\h 主机名简称          \H 主机名

\w 当前工作目录            \W 当前工作目录基名

\t 24小时时间格式  \T 12小时时间格式

\! 命令历史数          \# 开机后命令历史数    

但保存不住,要想存住的话要保存到文件中

vim /etc/profile.d/env.sh 

 

内部命令:由shell自带的,而且通过某命令形式提供

enable   列出所有内部命令,内部命令是集成在shell里的,开机就加载到内存中了

help              列出所有内部命令,带*的是被禁用的命令

enable cmd  启用内部命令

enable -n      cmd       禁用某内部命令

enable -n             查看所有禁用的内部命令

type cmd      查看一个命令是内部还是外部命令

外部命令:在文件系统路径下有对应的可执行程序文件

echo $PATH

外部命令是按$PATH变量顺序查找的

yes str    不停地输出str

ntpdate 172.20.0.1     172.20.0.1同步时间,出现offset字样即成功

date       查看时间

 

hash              常见用法

hash              显示hash缓存

hash -l  显示hash缓存,可作为输入使用

hash -p path name     将命令全路径path起别名为name

hash -t name      打印缓存中name的路径

hash -d name 清除name缓存

hash -r   清除缓存

 

which            查看外部命令对应的路径,只显示第一个

which -a        全显示,如果有多个路径的话

which -a |--skip-alias ls    

 

 

whereis cmd      

 

alias       定义别名

unalias   删除别名

alias cdnet="cd /etc/sysconfig/network-scripts/"

vim ~/.bashrc /etc/.bashrc 写入到.bashrc可存住

. source  读取某文件的内容放到内存中,使配置文件即时生效

优先级:别名>内部命令>外部命令

 

使用原始的ls命令:

/bin/ls    只适合于外部命令

'ls'

\ls

"ls"

command ls

 

命令格式

COMMAND [OPTIONS] [ARGUMENTS]

选项:用于启用或关闭命令的某个或某些功能

       短选项:-c 例如:-l, -h

       长选项:--word 例如:--all, --human-readable

参数:命令的作用对象,比如文件名,用户名等

注意:

       多个选项以及多参数和命令之间使用空白字符分隔

       取消和结束命令执行:Ctrl+cCtrl+d

       Ctrl+c    较强硬地退出

       Ctrl+d    正常退出

       多个命令可以用;符号分开

       一个命令可以用\分成多行

 

日期与时间

date 显示和设置系统时间

date       031010302019.30      设置系统时间

date +%s

date -d @1522206929

hwclockclock: 显示硬件时钟

-s, --hctosys以硬件时钟为准,校正系统时钟

-w, --systohc以系统时钟为准,校正硬件时钟date +%s

 

时区

CentOS 7:

timedatectl list-timezones

timedatectl status

timedatectl set-timezone Europe/Zurich

timedatectl set-timezone Asia/Shanghai

CentOS 6:

tzselect

 

ll /usr/share/zoneinfo/Asia/Shanghai

ll /etc/localtime

这两个文件是完全一样的,使用的应该是软连接或硬链接

 

cal

cal -y

cal 2019

cal 8 2008

cal 9 1752

 

关机:halt, poweroff

重启:reboot

       -f: 强制,不调用shutdown

       -p: 切断电源

关机或重启:shutdown

       shutdown [OPTION]... TIME [MESSAGE]

       -r: reboot

       -h: halt

       -ccancel

       TIME:无指定,默认相当于+1

              now: 立刻,相当于+0

              +m: 相对时间表示法,几分钟之后;例如+3

              hh:mm: 绝对时间表示,指明具体时间

 

修改系统语言:

echo $LANG

CentOS 6

vim /etc/sysconfig/i18n

LANG="en_US.UTF-8"

LANG="zh_CN.UTF-8"

 

screen命令:

创建新screen会话

       screen –S [SESSION]

加入screen会话

       screen –x [SESSION]

退出并关闭screen会话

       exit

剥离当前screen会话

       Ctrl+a,d

显示所有已经打开的screen会话

       screen -ls

恢复某screen会话

       screen -r [SESSION]

 

echo命令

功能:显示字符

语法:echo [-neE][字符串]

说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号

选项:

       -E (默认)不支持\解释功能

       -n 不自动换行

       -e 启用\字符的解释功能

       显示变量

echo "$VAR_NAME 变量会替换,弱引用

echo '$VAR_NAME 变量不会替换,强引用

启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

\a 发出警告声

\b 退格键

\c 最后不加上换行符号

\n 换行且光标移至行首

\r 回车,即光标移至行首,但不换行

\t 插入tab

\\插入\字符

\0nnn 插入nnn(八进制)所代表的ASCII字符

echo -e '\033[43;31;5mmagedu\033[0m'

\xHH插入HH(十六进制)所代表的ASCII

 

ASCLL码表

hexdump -C f1    查看f1文件的16进制码

bc   计算器

ibase=2  二进制转十进制

obase=2 十进制转二进制

 

登录提示:

vim /etc/motd

 

双引号,单引号,反向单引号

echo "echo $PS1"

echo 'echo $PS1'

echo `echo $PS1`

`反向单引号`,当一个命令调用另一个命令的输出信息时使用,等价于$(),最聪明最灵活的

例如:

touch `date +%F`.log

cp `which --skip-alias ls` /data

'单引号',什么都不认,最傻的

"双引号",能认一部分,中间

 

大括号{}

echo {a..e}

echo {1..10}

echo {20..10}

echo {1..20.2}

echo {Z..a}

touch /data/file{a,b,c}.{log,txt}

 

双击Tab

       command 2Tab 所有子命令或文件补全

       string2Tab string开头命令

       /2Tab 显示所有根目录下一级目录,包括隐藏目录

       ./2Tab 当前目录下子目录,包括隐藏目录

       *2Tab 当前目录下子目录,不包括隐藏目录

       ~2Tab 所有用户列表

       $2Tab 所有变量

       @2Tab /etc/hosts记录(centos7不支持)

       =2Tab 相当于ls A centos7不支持)

 

命令行历史history

 

bash的快捷键

 

wall       发广播

 

获取帮助:

获取帮助的能力决定了技术的能力!

whatis

whatis cmd 等价于 man -f cmd

内部命令:help cmd

外部命令:

cmd --help

cmd -h

man       manual的缩写

man [1] ls

info 页面结构像是一个网站

/usr/share/doc    目录,很多软件的帮助文档,一般比较详尽

安装中文man帮助:man-pages-zh-CN


通过在线文档获取帮助

第三方应用官方文档

       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

       Openstackfiletype:pdf

       rhcasite:redhat.com/docs

 

/etc/issue     登录前显示的信息

/etc/motd     登录后显示的信息