第一周学习笔记

基础命令

1.设置网络自动登陆操作方式;

a.用gedit(gedit为图形界面更改文本文件)打开文件路径 /etc/sysconfig/network-                                              scripts/ifcfg-ens33进入界面将ONBOOT=NO

改成yes然后保存关闭界面即可。rebootco重启即可。

 2.设置用户自动登陆模式

a.用nano(nano为字符界面编辑文本文件)打开文件路径nano /etc/gdm/custom.conf进入修                            改界面,增加下面一段话保存即可

AutomaticLoginEnable=true

AutomaticLogin=root

QQ截图20180328195703                           3.查看系统ID账号.0为root账号,在centos6.9中普通账号为500以后,centos7中普通账号

为1000以后。例如id – u为查看当前用户系统账号,id  -u  lv 为查看lv账号的ID号。

QQ截图20180328202050  4.按ctrl+alt+f2-f6可依次打开五个终端,按tty 可以看到在那个终端登录的。还可用

who查看所有登陆终端的信息。显示pts的为远程登陆的,tty为本机登陆。whoami为

显示当前登陆的用户,who am i 为显示详细的登陆用户及在那个终端。当个w 显示更详

细的登陆信息。也可以用chvt1-6来切换终端。

5.  init3为切换到字符界面,init5为切换到图形界面。startx 也可切换到图形界面,但

不是模式切换,只是打开了一个程序而已。

6.查看运行的那种shell 用echo $SHELL.  查看系统支持哪几种shell,cat /etc/shells.

7.命令提示符的更改。(#为管理员登陆,$为普通用户登陆。)

显示提示符格式,echo  $PS1

修改提示符格式,PS1=”\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]”

要想永久保存必须存入文件,nano  /etc/profile.d/evn.sh     进入文件后将PS1里的参数修改保存即可。

QQ截图20180329092026

\e \033 \u 当前用户

\h 主机名简称\H 主机名 \w 当前工作目录

\W 当前工作目录基名 \t 24小时时间格式 \T 12小时时间格式

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

8.查看命令的类型,外部命令&内部命令

用type+命令  来查看是外部命令还是内部命令。或用which命令 -a可以选择查看全部路径。

QQ截图20180329095430

此图查看了who 命令为外部命令,而enable为shell内部集成的命令。

enable cmd 启用内部命令         enable –n cmd 禁用内部命令             enable –n 查看所有禁用的内部命令

用enable可以查看所有内部命令,用help 可以查看详细的外部命令列表。

在外部命令中按echo $PATH列表  中的目录次序查找执行。

QQ截图20180329101205

hash缓存 执行过一次即使第二次路径更改按照缓存中的路径执行如果没有则报错,这时我们需要把hash

中的缓存清理一下即可。

hash 显示 hash缓存

hash –l 显示hash缓存,可作为输入使用       hash –p path name 将命令全路径path起别名为name

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

hash –d name 清除name缓存

hash –r 清除所有缓存

别名命令;    alias     显示当前shell进程所有可用的命令别名

定义别名; alias  cdnet=’cd/etc/sysconfig/network-scripts/’

必须保存到文件中可生效 nano .bashrc   保存后用.或source加文件生效

. .bashrc/    source .bashrc

如果要用原始命令不用别名命令可以找路径输入,加‘’ ,加\,加“”都可以

例如;\ls,  ‘ls’   “ls”   /bin/ls  command ls。都可以

which –alias-skip ls跳过别名只显示路径

取消别名 ualias+name

命令执行的优先级     别名>内部命令>外部命令

9.时间和时钟

Linux的两种时钟

系统时钟:由Linux内核通过CPU的工作频率进行的

硬件时钟:主板 

相关命令

date 显示和设置系统时间 date +%s

date -d @1509536033

hwclock,clock: 显示硬件时钟

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

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

用网络时间来校准系统时间 ;ntpdate 17220.0.1  (临时生效)

要想开机校准需要写入配置文件

centos6:

vim /etc/ntp.conf     增加  server 172.20.0.1  iburst

service ntpd start   (立即启用服务生效)

chkconfig ntpd on  (每次开机都启用生效)

centos7:

vim /etc/chrony.conf  增加   server 172.20.0.1 iburst
systemctl start chronyd  (立即启用服务生效)
systemctl enable chronyd  (每次开机都启用生效)

时区:/etc/localtime 

显示日历:cal –y

设置系统时间(只有在root下才可更改)date  031212122018.30(2018 03 月12  日12:12:30)

date -d “-2  day” +%F  显示时间

date -d “5  day” +%F  显示时间

date -s”-1 day” +%F   设置时间

显示详细的的时间 date +”%y-%m-%d  %H:%M:%S”    .date +“%F  %T”    两种都可以。

10 .关机 poweroff    halt        重启reboot

关机或重启shutdown

shutdown  -c    取消定时关机

shutdown +5  “hbdj”   五分钟后关机并有提示消息

shutdown   -h 12:30    定时关机命令

11. bash快捷键

Ctrl + l 清屏,相当于clear命令

Ctrl + o 执行当前命令,并重新显示本命令

Ctrl + s 阻止屏幕输出,锁定

Ctrl + q 允许屏幕输出

Ctrl + c 终止命令

Ctrl + z 挂起命令

Ctrl + a 光标移到命令行首,相当于Home 

Ctrl + e 光标移到命令行尾,相当于End

Ctrl + f 光标向右移动一个字符

Ctrl + b 光标向左移动一个字符

Alt + f 光标向右移动一个单词尾 

Alt + b 光标向左移动一个单词首 

Ctrl + xx 光标在命令行首和光标之间移动 

Ctrl + u 从光标处删除至命令行首 

Ctrl + k 从光标处删除至命令行尾 

Alt + r 删除当前整行。

12.rz 上传至linux文件,sz+文件目录,从Linux下载文件到windows。

13.文件的创建

文件的名称不能大于255个字节。

包括路径在内文件名称最长4095个字节 

蓝色–>目录

绿色–>可执行文件

红色–>压缩文件

浅蓝色–>链接文 件

灰色–>其他文件 

除了斜杠和NUL,所有字符都有效.但使用特殊字符的目录名和文件不推荐使用, 有些字符需要用引号来引用它们。 

标准Linux文件系统(如ext4),文件名称大小写敏感。例如: MAIL, Mail, mail, mAiL

pwd 显示工作路径,pwd-P显示真实工作路径(当在软连接是则需要-P显示真实路径)

绝对路径和相对路径

绝对路径都是以/开始的路径。相对路径是相对现在所在的的路径,不需要以/开始。

相对路径中以  ..代表在此路径下的上一层目录。

basename 只取显示路径的文件名不要目录。

dirname 只要显示路径的目录信息不要文件名。

文件的三种状态

访问时间,atime,读取文件内容

修改时间, mtime,改变文件内容(数据)

改变时间, ctime,元数据发生改变

文件通配符

* 匹配零个或多个字符 

? 匹配任何单个字符

~ 当前用户家目录 

~mage 用户mage家目录 

~+ 当前工作目录 

~- 前一个工作目录 

[0-9] 匹配数字范围 

[a-z]:字母

[A-Z]:字母 

[wang] 匹配列表中的任何的一个字符 

[^wang] 匹配列表中的所有字符以外的字符

[:digit:]:任意数字,相当于0-9

[:lower:]:任意小写字母

[:upper:]: 任意大写字母

[:alpha:]: 任意大小写字母

[:alnum:]:任意数字或字母

touch 创建文件

touch -a 仅改变atime和ctime

touch-m 仅改变ctime和mtime

touch -t 指定atime和mtime的时间戳

touch -c 如果文件不存在则不予以创建。

练习
1、显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现至少一位数 字的文件或目录

2、显示/etc目录下以任意一位数字开头,且以非数字结尾的文件或目录

3、显示/etc/目录下以非字母开头,后面跟了一个字母及其它任意长度任意字符 的文件或目录

4、显示/etc/目录下所有以rc开头,并后面是0-6之间的数字,其它为任意字符 的文件或目录 

5、显示/etc目录下,所有以.d结尾的文件或目录

6、显示/etc目录下,所有.conf结尾,且以m,n,r,p开头的文件或目录 

7、只显示/root下的隐藏文件和目录 

8、只显示/etc下的非隐藏

答案

ls /var/l*[[:digit:]]*[[:lower:]]
2
ls /etc/[0-9]*[^[:digit:]]
3
ls /etc/[^[:alpha:]][[:alpha:]]*
4
ls -d /etc/rc[0-6]*
5
ls -d /etc/*.d
6
ls -d /etc/[mnrp]*.conf
7
ls -d /root/.*

8
ls /etc/[^.]*/ -d

14 .cp 文件复制

-i:覆盖前提示

–n:不覆盖,注意两者顺序 

-r, -R: 递归复制目录及内部的所有内容 

-a: 归档,相当于-dR –preserv=all 可以理解为存档备份,保留源文件的所有属性

-d:–no-dereference –preserv=links 不复制原文件,只复制链接名 

–preserv[=ATTR_LIST]

-v    可以显示复制的整个过程。(如果文件过大,容易造成终端死机,就不要在使用了)

–backup=numbered 目标存在,覆盖前先备份加数字后缀 :–update 只复制源比目标更新文件或目标不存在的文件

 

QQ截图20180331153808

练习题

1、定义别名命令baketc,每天将/etc/目录下所有文件,备份到 /app独立的子目录下,并要求子目录格式为 backupYYYY-mm-dd, 备份过程可见 

2、创建/app/rootdir目录,并复制/root下所有文件到该目录内, 要求保留原有权限

1.  alias baketc=’cp -av /etc /data/backupdate +%F

 
2.  cp -a /root /data/rootdir

15 .文件的移动,重命名和删除。

mv 和cp 基本相同 但目录与目录之间操作时无需加-r选项。

rm 删除命令

-i  交互式的(询问是否删除)

-r   递归删除

-f  强制删除

删除文件是危险的所以最好将rm重新定义到mv在不用的文件中做备份。

方法;alias rm=mv -t  /data       既将所要删的文件移动到/data文件中。-t在mv的用法是将移动到的目的地

写在前面,而源文件写在后面。例如删除fen文件rm fen 等价于mv  -t /data  fen.既将fen 放在/data文件中。

当删除文件是有其他人在使用,即使文件删除文件,但不会立即释放磁盘空间,一种方法是杀掉进程,另一种方法是>文件名   再用rm -f  文件名   删掉

16.目录的操作。

tree 显示目录树

-d: 只显示目录

-L level:指定显示的层级数目

-P pattern: 只显示由指定pattern匹配到的路径 

mkdir 创建目录

-p: 存在于不报错,且可自动创建所需的各目录

-v: 显示详细信息

-m MODE: 创建目录时直接指定权限 

rmdir 删除空目录

-p: 递归删除父空目录

-v: 显示详细信息 

rm -r 递归删除目录树

练习题

1) 如何创建/testdir/dir1/x, /testdir/dir1/y, /testdir/dir1/x/a, /testdir/dir1/x/b, /testdir/dir1/y/a, /testdir/dir1/y/b 

(2) 如何创建/testdir/dir2/x, /testdir/dir2/y, /testdir/dir2/x/a, /testdir/dir2/x/b

(3) 如何创建/testdir/dir3, /testdir/dir4, /testdir/dir5, /testdir/dir5/dir6, /testdir/dir5/dir7

答案 ;

1.mkdir -p /testdir/dir1/{x,y}/{a,b}

2.mkdir -p /testdir/dir2/{x/{a,b},y}

 3.mkdir -p /testdir/dir{3,4,5/dir{6,7}}

17 .索引节点

节点编号在一个分区内是系统自动分配的。跨区重新分配节点编号。

节点编号用完,即使有空间也无法创建新的文件了。

一个指针块 4k,间接指 针最多保存1024*4K

在间接指针1024*1024*4k

删文件的意思是先删节点编号。数据并不会立即删除,但当另一个文件使用数据块是将会覆盖。

18.软连接和硬链接

硬链接;文件只有一个 名字是多个的,节点编号相同。他们之间是对等的,删除哪一个都对其他并不造成任何影响。

ln 1 2

ln 1 3

QQ截图20180331203237

如上图所示 创建的硬链接,2和3两个文件节点编号相同,任何一个文件的内容改变,其他两个文件也自动改变。两个不同分区不能创建硬链接。也不支持目录创建链接。

软连接 ; ln -s       (直接看软连接对应的原始路径:readlink  加链接名;或用ll加链接名查看)

他们是两个不同的文件,节点编号也是不同的。

针对不同目录创建,可跨分区,目录也支持。

跨分区创建,最好写两个的绝对路径

如果由两个版本的新文件,如fn1.1   更新后为fn1.2 ,原先用软连接指向fn1.1,既ln -s fn    fn1.1  如果想用新版本的文件,将旧的软连接删除新建即可     rm  -f  fn         ln -s   fn   fn1.2  。通常为升级新版本所用的方法。

软硬链接的区别

本质
硬链接:同一个文件多个名字
软链接:一个文件对应快捷方式,不同文件

1、链接数
2、跨分区
3、目录
4、原始和链接文件关系
5、删除
6、大小(软连接的大小由链接的路径决定的,)

19  .确定文件内容

file [options] <filename>… 

常用选项: -b 列出文件辨识结果时,不显示文件名称

-f filelist 列出文件filelist中文件名的文件类型

-F 使用指定分隔符号替换输出文件名后默认的”:”分隔符

-L 查看对应软链接对应文件的文件类型。

20. I/O  .和管道

I/O  既输入和输出(inpout /outpout)

在linux 里打开一个文件,系统会自动分配一个数字来表示它的文件描述符。(三个常见的文件描述符,0,1,2)

标准输入(STDIN)-0 默认接受来自键盘的输入 

标准输出(STDOUT)-1 默认输出到终端窗口 

标准错误(STDERR)-2 默认输出到终端窗口

  命令> 显示输出的路径 既可已不再本窗口输出或者输出到其他定义路径的文件里。

命令2> 显示输出的路径 是将错误的信息输出到指定的文件路径下。

一个>的情况下再次输入信息将会覆盖上次的文件信息,所以用>>则是追加信息而不是覆盖。

如果一条命令既有对的输出也有错的的输出,将他们分别输出到不同的文件里

例如;  ls  hergh  /data   >f1   2>f2这条命令里将对的输出到f1中,错的输出到f2中。

如果将一条命令对的和错的都放到一个文件里

例如;   ls hergh  /data  >f1  2>&1  这条命令就是将对的放到f1 中 ,错的放到对的里,输出到f1中。(或用&>f1)不用管顺序了。

两条命令整体重定向(ls pwd)>f1  如果不想看到执行结果可以定向到 dev/null   相当于垃圾箱。

  

 

 

 

 

 

 

 

 

 

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93455

发表评论

登录后才能评论

评论列表(2条)

  • 路在脚下
    路在脚下 2018-03-29 20:29

    第一行reboot后多了两个字母co

    • 路在脚下
      路在脚下 2018-03-29 20:37

      写的真好,很全很仔细,学习了

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1823388528@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班