(本内容参照鸟哥)
1、准备
镜像下载地址:(可以到阿里云、华为云购买最基础的机器,里面有多种系统可供选择)
国家高速网络中心:http://ftp.twaren.net/Linux/CentOS/7/isos/
昆山科技大学:http://ftp.ksu.edu.tw/FTP/Linux/CentOS/7/isos/centos
官方网站:http://mirror.centos.org/centos/7/iso
2、常用命令
locale(翻译:地区、地域)
发生乱码可能是因为语系的问题所致。 可以利用(语言:locale)
export LANG=en_US.utf8 或者是 export LC_ALL=en_US.utf8 等设置来修订这个问题。
umask -S
S显示权限 不加-S 则显得的为被拿掉的权限 设置:例如 umask 002 新建文档时则o没有2权限
umask 值 文件 目录
0022 644 755
0027 640 750
0002 664 775
0006 660 771
0007 660 770
chattr
可设置文档隐藏属性(常用a可增加,i锁定) lsattr可查看文档隐藏属性
which (-a) 查找PATH变量的文件
whereis/locate 查找文件目录
find / -perm /7000 查找特殊权限为7000的文档
find /usr/bin /usr/sbin -perm /7000 -exec ls -l {} \; 将查找到的文档后处理
xfsdump [-L S_label] [-M M_label] [-l #] [-f 备份文件] 待备份数据
选项与参数:
-L :xfsdump 会纪录每次备份的 session 标头,这里可以填写针对此文件系统的简易说明
-M :xfsdump 可以纪录储存媒体的标头,这里可以填写此媒体的简易说明
-l :是 L 的小写,就是指定等级~有 0~9 共 10 个等级喔! (默认为 0,即完整备份)
-f :有点类似 tar 啦!后面接产生的文件,亦可接例如 /dev/st0 设备文件名或其他一般文件文件名等
-I :从 /var/lib/xfsdump/inventory 列出目前备份的信息
xfsrestore -I <==用来察看备份文件数据
xfsrestore [-f 备份文件] [-L S_label] [-s] 待复原目录 <==单一文件全系统复原
xfsrestore [-f 备份文件] -r 待复原目录 <==通过累积备份文件来复原系统
xfsrestore [-f 备份文件] -i 待复原目录 <==进入互动模式选项与参数:
-I :跟 xfsdump 相同的输出!可查询备份数据,包括 Label 名称与备份时间等
-f :后面接的就是备份文件!企业界很有可能会接 /dev/st0 等磁带机!我们这里接文件名!
-L :就是 Session 的 Label name 喔!可用 -I 查询到的数据,在这个选项后输入!
-s :需要接某特定目录,亦即仅复原某一个文件或目录之意!
-r :如果是用文件来储存备份数据,那这个就不需要使用。如果是一个磁带内有多个文件,需要这东西来达成累积复原
-i :进入互动模式,进阶管理员使用的!一般我们不太需要操作
vim扩展用法
[ctrl]+x -> [ctrl]+n 通过目前正在编辑的这个“文件的内容文字”作为关键字,予以补齐
[ctrl]+x -> [ctrl]+f 以当前目录内的“文件名”作为关键字,予以补齐
[ctrl]+x -> [ctrl]+o 以扩展名作为语法补充,以 vim 内置的关键字,予以补齐
~/.viminfo 文件里会保存vim修改过的数据
iconv --list
iconv -f 原本编码 -t 新编码 filename [-o newfile]
选项与参数:
--list :列出 iconv 支持的语系数据
-f :from ,亦即来源之意,后接原本的编码格式;
-t :to ,亦即后来的新编码要是什么格式;
-o file:如果要保留原本的文件,那么使用 -o 新文件名,可以创建新编码文件。
.ssh注意事项:
在配置ssh自动传输的时候注意,
.ssh目录的属主、属组使用当前用户与用户组,
.ssh目录的权限请保持700,
authorized_keys的权限为644,
id_rsa的权限为600,
id_rsa.pub的权限为644,
同时检查用户$HOME目录权限必须为755。
strace 命令 查看命令运行详情 (当执行某命令卡住的时候就可以用这个命令查看是卡在了什么地方)
type [-tpa] name (查看命令来源)
选项与参数:
:不加任何选项与参数时,type 会显示出 name 是外部指令还是 bash 内置指令
-t :当加入 -t 参数时,type 会将 name 以下面这些字眼显示出他的意义:
file :表示为外部指令;
alias :表示该指令为命令别名所设置的名称;
builtin :表示该指令为 bash 内置的指令功能;
-p :如果后面接的 name 为外部指令时,才会显示完整文件名;
-a :会由 PATH 变量定义的路径中,将所有含 name 的指令都列出来,包含 alias
logrotate 系统自带的内部命令(研究中)
日志切割 https://www.cnblogs.com/clsn/p/8428257.html https://linux.cn/article-4126-1.html
命令行快捷操作补充:
[ctrl]+u/[ctrl]+k 分别是从光标处向前删除指令串 ([ctrl]+u) 及向后删除指令串([ctrl]+k)。
[ctrl]+a/[ctrl]+e 分别是让光标移动到整个指令串的最前面 ([ctrl]+a) 或最后面([ctrl]+e)。
单引和双引
“xxx” 如果其中有变量等会执行 ‘xxx’ 输出纯文本有内容
env 和 export set 输出当前用户的环境变量
PS1:(提示字符的设置)
这是 PS1 (数字的 1 不是英文字母),这个东西就是我们的“命令提示字符”喔! 当我们每次
按下 [Enter] 按键去执行某个指令后,最后要再次出现提示字符时, 就会主动去读取这个变量
值了。上头 PS1 内显示的是一些特殊符号,这些特殊符号可以显示不同的信息, 每个
distributions 的 bash 默认的 PS1 变量内容可能有些许的差异,不要紧,“习惯你自己的习
惯”就好了。 你可以用 man bash [3]去查询一下 PS1 的相关说明,以理解下面的一些符号意义。
\d :可显示出“星期 月 日”的日期格式,如:"Mon Feb 2"
\H :完整的主机名称。举例来说,鸟哥的练习机为“study.centos.vbird”
\h :仅取主机名称在第一个小数点之前的名字,如鸟哥主机则为“study”后面省略
\t :显示时间,为 24 小时格式的“HH:MM:SS”
\T :显示时间,为 12 小时格式的“HH:MM:SS”
\A :显示时间,为 24 小时格式的“HH:MM”
\@ :显示时间,为 12 小时格式的“am/pm”样式
\u :目前使用者的帐号名称,如“dmtsai”;
\v :BASH 的版本信息,如鸟哥的测试主机版本为 4.2.46(1)-release,仅取“4.2”显示
\w :完整的工作目录名称,由根目录写起的目录名称。但主文件夹会以 ~ 取代;
\W :利用 basename 函数取得工作目录名称,所以仅会列出最后一个目录名。
# :下达的第几个指令。
$ :提示字符,如果是 root 时,提示字符为 # ,否则就是 $ 啰~
sudo https://www.cnblogs.com/liujiacai/p/8179994.html
alias, unalias 定义别名及取消别名 临时的重启失效,如需永久生效修改bashrc配置文件
declare [-aixr] variable选项与参数:
-a :将后面名为 variable 的变量定义成为阵列 (array) 类型
-i :将后面名为 variable 的变量定义成为整数数字 (integer) 类型
-x :用法与 export 一样,就是将后面的 variable 变成环境变量;
-r :将变量设置成为 readonly 类型,该变量不可被更改内容,也不能 uns
issue 内的各代码意义
\d 本地端时间的日期;
\l 显示第几个终端机接口;
\m 显示硬件的等级 (i386/i486/i586/i686...);
\n 显示主机的网络名称;
\O 显示 domain name;
\r 操作系统的版本 (相当于 uname -r)
\t 显示本地端时间的时间;
\S 操作系统的名称;
\v 操作系统的版本。
ulimit [-SHacdfltu] [配额] 选项与参数:
-H :hard limit ,严格的设置,必定不能超过这个设置的数值;
-S :soft limit ,警告的设置,可以超过这个设置值,但是若超过则有警告讯息。
在设置上,通常 soft 会比 hard 小,举例来说,soft 可设置为 80 而 hard
设置为 100,那么你可以使用到 90 (因为没有超过 100),但介于 80~100 之间时,
系统会有警告讯息通知你!
-a :后面不接任何选项与参数,可列出所有的限制额度;
-c :当某些程序发生错误时,系统可能会将该程序在内存中的信息写成文件(除错用),
这种文件就被称为核心文件(core file)。此为限制每个核心文件的最大容量。
-f :此 shell 可以创建的最大文件大小(一般可能设置为 2GB)单位为 KBytes
-d :程序可使用的最大断裂内存(segment)容量;
-l :可用于锁定 (lock) 的内存量
-t :可使用的最大 CPU 时间 (单位为秒)
-u :单一使用者可以使用的最大程序(process)数量。
/etc/profile (login shell 才会读)
PATH:会依据 UID 决定 PATH 变量要不要含有 sbin 的系统指令目录;
MAIL:依据帐号设置好使用者的 mailbox 到 /var/spool/mail/帐号名;
USER:根据使用者的帐号设置此一变量内容;
HOSTNAME:依据主机的 hostname 指令决定此一变量内容;
HISTSIZE:历史命令记录笔数。CentOS 7.x 设置为 1000 ;
umask:包括 root 默认为 022 而一般用户为 002 等!
/etc/profile.d/*.sh
其实这是个目录内的众多文件!只要在 /etc/profile.d/ 这个目录内且扩展名为 .sh ,另外,使
用者能够具有 r 的权限, 那么该文件就会被 /etc/profile 调用进来。在 CentOS 7.x 中,这个
目录下面的文件规范了 bash 操作接口的颜色、 语系、ll 与 ls 指令的命令别名、vi 的命令别
名、which 的命令别名等等。如果你需要帮所有使用者设置一些共享的命令别名时, 可以在
这个目录下面自行创建扩展名为 .sh 的文件,并将所需要的数据写入即可喔!
/etc/locale.conf
这个文件是由 /etc/profile.d/lang.sh 调用进来的!这也是我们决定 bash 默认使用何种语系的
重要配置文件! 文件里最重要的就是 LANG/LC_ALL 这些个变量的设置啦!
/etc/locale.conf
这个文件是由 /etc/profile.d/lang.sh 调用进来的!这也是我们决定 bash 默认使用何种语系的
重要配置文件! 文件里最重要的就是 LANG/LC_ALL 这些个变量的设置啦!
stty -a 来列出目前环境中所有的按键列表,在上头的列表当中,需要注意的是
特殊字体那几个, 此外,如果出现 ^ 表示 [Ctrl] 那个按键的意思。举例来说, intr = ^C 表示
利用 [ctrl] + c 来达成的。几个重要的代表意义是:
intr : 送出一个 interrupt (中断) 的讯号给目前正在 run 的程序 (就是终止啰!);
quit : 送出一个 quit 的讯号给目前正在 run 的程序;
erase : 向后删除字符,(例如:stty erase ^h )
kill : 删除在目前命令行上的所有文字;
eof : End of file 的意思,代表“结束输入”。
start : 在某个程序停止后,重新启动他的 output
stop : 停止目前屏幕的输出;
10.4 Bash Shell 的操作环境: 532
susp : 送出一个 terminal stop 的讯号给正在 run 的程序。
bg 、 bg %1 、fg 、 jobs
原文:https://www.cnblogs.com/myxl66/p/12076750.html