linux日常使用总结

前言

   使用CentOS有一段时间了,将常用命令及一些基础问题特此小结以备忘。

1.通过命令行重启linux操作系统

shutdown -r now
reboot

2.命令行中快速删除光标前后内容

ctrl+u	光标前
ctrl+k	光标后

3.更改文件权限

chmod [-R] <+|-|=> file|dir
chmod 权限值 file

linux日常使用总结_第1张图片
4.删除文件夹下所有A开头的文件夹和文件

rm -rf A*

linux日常使用总结_第2张图片
5.把一个目录复制到另一目录下并保持原属性不变

cp -r dir1 dir2

linux日常使用总结_第3张图片
6.移动文件并改名

mv file directory
mv file file1
mv /dir/file /dir/file1

linux日常使用总结_第4张图片
7.修改文件归属人和组

chown username file|directory
chgrp groupname file|directory

linux日常使用总结_第5张图片
8.查看系统最后创建的组

tail /etc/group

linux日常使用总结_第6张图片
9.统计系统中账户

wc -l /etc/passwd

10.vim末行模式使用

vim file
:20,50 d 删除20-50之间所有行

11./var 用于存储大文件的溢出区

12.查看文件头3行和尾3行

head -3 file
tail -3 file

13.添加设置账户

useradd -G 1001 -e 20180404 u1
useradd -u 1002 u2

在这里插入图片描述在这里插入图片描述
14.添加删除组下用户

gpasswd -a u1 g1
gpasswd -d u3 g1

linux日常使用总结_第7张图片
15.查看当前工作目录

pwd

16.一次性创建多个目录

mkdir -p text/1/2/3/4

17.查看/etc下的所有文件

ls -al /etc

18.最快的返回到当前账户的宿主目录

cd ~
cd 

19.只查看/etc单个目录的信息,并以长格式显示

ls -ld /etc

在这里插入图片描述
20.查看/etc所占的磁盘空间

du -sh /etc

在这里插入图片描述
21.常用目录

应用程序一般安装目录 /usr
日志存放目录 /var/log
root宿主目录 /root
user1宿主目录 /home/user1

22.删除/tmp下所有的文件

rm -rf /tmp/*

linux日常使用总结_第8张图片
23.删除/tmp下所有的以A开头的内容

rm -rf /tmp/A*

24.用vim把文档中的50到100行之间的man改为MAN

:50,100 s/man/MAN/g

linux日常使用总结_第9张图片
25.编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
linux日常使用总结_第10张图片
linux日常使用总结_第11张图片
26.编写shell脚本获取本机的网络地址
  本机的ip地址是192.168.100.2/255.255.255.0
  那么它的网络地址是192.168.100.1/255.255.255.0
在这里插入图片描述
27.命令行下发邮件
  发件人:[email protected],收信人:[email protected]
在这里插入图片描述
28.linux下改IP,主机名,DNS

vim /etc/sysconfig/network-scripts/ifcfg-eth0
vim /etc/sysconfig/network
vim /etc/resolv.conf

在这里插入图片描述
29.Tcp三次握手的过程

第一次握手,建立连接,客户端发送SYN包到服务器,并进入SYN_SEND状态,等待服务器确认;

第二次握手,服务器收到SYN,同时自己也发送一个SYN包和一个ACK包来确认客户端的SYN,并进入SYN_RECV;

第三次握手,客户端收到服务器发来的SYN+ACK后,回复服务器端一个ACK确认,发送完毕后,双方进入ESTABLISHED状态。

三次握手成功后,开始传输数据。

30.GPL,GNU,自由软件

GPL:(通用公共许可证):一种授权,任何人有权取得、修改、重新发布自由软件的权力。

GNU:(革奴计划):目标是创建一套完全自由、开放的的操作系统。

自由软件:是一种可以不受限制地自由使用、复制、研究、修改和分发的软件。主要许可证有GPL和BSD许可证两种。

31.关于选择Linux操作系统版本

一般来讲,桌面用户首选Ubuntu;服务器首选RHEL或CentOS,两者中首选CentOS。

根据具体要求:

1)安全性要求较高,则选择Debian或者FreeBSD。

2)需要使用数据库高级服务和电子邮件网络应用的用户可以选择SUSE。

3)想要新技术新功能功能可以选择Feddora,Feddora是RHEL和CentOS的一个测试版和预发布版本。

4)根据现有状况,绝大多数互联网公司选择CentOS。现在比较常用的是6系列,现在市场占有大概一半左右。另外的原因是CentOS更侧重服务器领域,并且无版权约束。

32.初学者在Linux系统的开机启动项如何选择

1).crond: 该服务用于周期地执行系统及用户配置的计划任务。有要周期性执行的任务计划需要开启,此服务是生产场景必须要用的一个软件。

2).iptables: iptables包过滤防火墙,有外网IP时,考虑开启。

3).network: 启动系统时,若想激活/关闭启动时的各个网络接口,则应(必须)考虑开启。

4).sshd: 远程连接Linux服务器时需要用到这个服务程序,所以必须要开启,否则将无法远程连接到Linux服务器。

5).rsyslog: 是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息收集写入到系统日志文件中,CentOS6以前此服务的名字为syslog。

6).sysstat: 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于Linux系统性能数据很有帮助,比如CPU使用率、硬盘和网络吞吐数据等,这些数据的分析,有利于判断系统运行是否正常,所以它是提高系统运行效率、安全运行服务的助手。

33.Linux系统优化的12个步骤

⑴登录系统:不使用root登录,通过sudo授权管理,使用普通用户登录。

⑵禁止SSH远程:更改默认的远程连接SSH服务及禁止root远程连接。

⑶时间同步:定时自动更新服务器时间。

⑷配置yum更新源,从国内更新下载安装rpm包。

⑸关闭selinux及iptables(iptables工作场景如有wan ip,一般要打开,高并发除外)

⑹调整文件描述符数量,进程及文件的打开都会消耗文件描述符。

⑺定时自动清理/var/spool/clientmquene/目录垃圾文件,防止节点被占满(c6.4默认没有sendmail,因此可以不配。)

⑻精简开机启动服务(crond、sshd、network、rsyslog)

⑼Linux内核参数优化/etc/sysctl.conf,执行sysct -p生效。

更改字符集,支持中文,但是还是建议使用英文,防止乱码问题出现。

⑾锁定关键系统文件(chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 处理以上内容后,把chatter改名,就更安全了。)

⑿清空/etc/issue,去除系统及内核版本登陆前的屏幕显示。

34.Linux运行级别0-6的各自含义

0:关机模式

1:单用户模式<==破解root密码

2:无网络支持的多用户模式

3:有网络支持的多用户模式(文本模式,工作中最常用的模式)

4:保留,未使用

5:有网络支持的X-windows支持多用户模式(桌面)

6: 重新引导系统,即重启

35.Linux系统从开机到登陆界面的启动过程

⑴开机BIOS自检,加载硬盘。

⑵读取MBR,MBR引导。

⑶grub引导菜单(Boot Loader)。

⑷加载内核kernel。

⑸启动init进程,依据inittab文件设定运行级别

⑹init进程,执行rc.sysinit文件。

⑺启动内核模块,执行不同级别的脚本程序。

⑻执行/etc/rc.d/rc.local

⑼启动mingetty,进入系统登陆界面。

36.Linux下软链接和硬链接的区别

在Linux系统中,链接分为两种,一种是硬链接(Hard link),另一种称为符号链接或软链接(Symbolic Link)。

1)默认不带参数的情况下,ln创建的是硬链接,带-s参数的ln命令创建的是软链接。

2)硬链接文件与源文件的inode节点号相同,而软链接文件的inode节点号,与源文件不同,

3)ln命令不能对目录创建硬链接,但可以创建软链接。对目录的软链接会经常使用到。

4)删除软链接文件,对源文件和硬链接文件无任何影响。

5)删除文件的硬链接文件,对源文件及软链接文件无任何影响。

6)删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁状)。

7)同时删除源文件及其硬链接文件,整个文件才会被真正的删除。

8)很多硬件设备的快照功能,使用的就是类似硬链接的原理。

9)软链接可以跨文件系统,硬链接不可以跨文件系统。

37.Linux下文件删除的原理

Linux系统是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说每个文件两个link计数器来控制i_count和i_nlink。当一个文件被一个程序占用的时候i_count就加1。当文件的硬链接多一个的时候i_nlink也加1。删除一个文件,就是让这个文件,没有进程占用,同时i_link数量为0。

38.VI编辑器的使用

1)vi编辑器是linux系统下最最基本和最常用的标准文本编辑器。

2)vi编辑器有三种工作模式:普通模式、编辑模式、命令模式。

3)普通模式下的键盘输入任何字符都是当作命令来执行的,也可以输入命令进行光标的移动,字符、单词、行的复制、粘帖以及删除等操作。

4)编辑模式主要用于文本的输入。在该模式下,用户输入的任何字符都被作为文件的内容保存起来。

5)命令模式下,用户可以对文件进行一些如字符串查找、替换、显示行号等操作还是必须要进入命令模式的。

6)在普通模式下输入冒号即可进入命令模式,此时vi窗口的状态行会显示出冒号,等待用户输入命令。“i”插入模式,即可以进行编辑。用户输入完成后,按【Esc】之后编辑器又返回到普通模式下,在命令模式下,保存退出,可以使用的命令为wq和x。前面加!表示强制退出,强制保存等。

39.用户管理的相关命令及用途

#组管理命令

groupadd #添加组

groupdel #删除用户组

groupmod #修改用户组

groups #显示当前用户所属的用户组

grpck #检查用户组及密码文件的完整性(etc/group以及/etc/gshadow文件)

grpconv #通过/etc/group和/etc/gshadow 的文件内容来同步或创建/etc/gshadow ,如果/etc/gshadow 不存在则创建;

grpunconv #通过/etc/group 和/etc/gshadow 文件内容来同步或创建/etc/group ,然后删除gshadow文件 。

#用户管理命令

useradd #添加用户

adduser #添加用户

passwd #为用户设置密码

usermod #修改用户命令,可以通过usermod 来修改登录名、用户的家目录等等

pwcov #同步用户从/etc/passwd 到/etc/shadow

pwck #pwck是校验用户配置文件/etc/passwd 和/etc/shadow文件内容是否合法或完整

pwunconv #执行pwunconv指令可以关闭用户投影密码,它会把密码从shadow文件内,重回存到passwd文件里。

finger #查看用户信息工具(危险命令,一般不用)

id #查看用户的UID、GID及所归属的用户组

chfn #更改用户信息工具

su #用户切换工具

40.查看当前哪些用户在线的Linux命令

w #显示目前系统登录用户

who #显示目前已登录用户信息

last #列出目前与过去登入系统的用户相关信息

lastlog #检查某特定用户上次登录时间

whoami #打印与当前生效的用户ID关联的用户名

finger #用户信息查找程序

id #显示指定用户或当前用户的用户与组信息

41.Linux中重要的文件夹及包含内容

1) /目录下的文件夹里面分别是以下内容:

/usr 包含所有的命令和程序库、文档和其他文件及当前linux发行版的主要应用程序

/var 包含正在操作的文件,还有记录文件、加密文件、临时文件等

/home 除了root用户外的所有用户的配置文件,个性化文件和主目录,即家目录

/proc 虚拟目录,该目录实际上指向内存而不是硬盘

/bin 系统执行文件(二进制文件)普通用户可以使用

/sbin 系统执行文件(二进制文件)不能被普通用户使用,通常由root用户使用

/etc 操作系统的配置文件

/root root用户的家目录

/dev 系统设备文件,linux所有设备都是以文件的形式被处理,该目录不包含驱动程序

/lib 程序和核心模块共享库(仅限于/下的程序)

/boot 系统引导、启动文件,通常grub也在这里

/opt 可选应用程序目录

/tmp 临时文件,系统会自动清理

/lost+found 恢复文件(类似回收站)

/media 所有的磁盘(有时有光盘)将以文件夹的形式挂载,光盘镜像也可以挂载

/cd-rom 挂载光盘的地方

2) /usr目录下的文件比较重要,其作用下面分类列出:

/usr/X11 X-windows桌面环境

/usr/doc linux系统的文档资料

/usr/share 独立于当前计算机的数据结构,如字典中的词

/usr/bin 类似/bin但是不参与启动,大部分命令都在这里

/usr/local 本地管理员安装的应用程序

/usr/local/bin 用户安装的应用程序(部分)

3) /proc目录的内容

/proc/cpuinfo 处理器的信息

/proc/devices 当前运行内核的所有设备清单

/proc/dma 当前正在使用中的DMA通道

/proc/filesystem 当前运行内核所配置的文件系统

/proc/interrupts 当前使用的中断和曾经有多少个中断

/proc/ioports 正在使用的I/O端口

42.关机和重启服务器的命令

1)shutdown

[-t] 指定在多长时间之后关闭系统

[-r] 重启系统

[-k] 并不真正关机,只是给每个登录用户发送警告信号

[-h] 关闭系统(halt)

2)halt

halt是最简单的关机命令,其实际上是调用shutdown -h命令。halt执行时,杀死应用进程,文件系统写操作完成后就会停止内核。

halt命令的部分参数如下:

[-f] 没有调用shutdown而强制关机或重启

[-i] 关机或重新启动之前,关掉所有的网络接口

[-p] 关机时调用poweroff,此选项为缺省选项

3)reboot

reboot工作过程与halt类似,作用是重新启动,而halt是关机。其参数与halt类似。

4)init

init是所有进程的祖先,其进程号始终为1。init用于切换系统的运行级别,切换的工作是立即完成的。init 0命令用于立即将系统运行级别切换为0,即关机;init 6命令用于将系统运行级别切换为6,即重新启动。

42.linux系统集权分治的权限分级精细管理

1)收集以及制定用户和权限的匹配信息,原则是给于最小权限,但是又能完成所承担的工作职责。

2)各个用户组设置对应权限,用什么给什么,精细到每一条指令上根据分组情况。

3)创建规划权限分组的用户.添加相关用户组。并修改etc/sudoers配置文件。

4)增加sudo的权限开放,确定相关用户加入如soduers权限列表,并详细设置所开放权限内容,并选择是否需要密码的相关执行权限开放。(注意ALL权限,以及密码修改权限设置)。

5)不建议先给all权限,后面排除。建议使用白名单。

6)实战调试测试相关权限是否正确配置完成。

7)编写操作说明,及相关注意事项。

8)调试完毕,邮件周知所有相关人员系统权限设置生效,并附带操作说明及相关注意事项。

43.一台办公室内主机无法上网的排查步骤

1)首先确定物理链路是否联通正常。

2)查看本机IP,路由,DNS的设置情况是否达标。

3)telnet检查服务器的WEB有没有开启以及防火墙是否阻拦。

4)ping一下网关,进行最基础的检查,通了,表示能够到达服务器。

5)测试到网关或路由器的通常情况,先测网关,然后再测路由器一级一级的测试。

6)测试ping公网ip的通常情况(记住几个外部IP),

7)测试DNS的通畅。ping出对应IP。

8)通过以上检查后,还在网管的路由器上进行检查。

44.Linux shell中单引号、双引号及不加引号的简单区别

单引号:所见即所得,即将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就输出什么。

双引号:把双引号里面的内容给输出出来,如果内容中有命令、变量等,会先把,变来那个、命令解析出结果,然后输出最终内容。

双引号内的命令或者变量写法'命令或变量'或$(命令或变量)

无引号:把内容输出出来,可能不会键含有空格的字符串,视为一个整体输出,如果内容中有命令、变量等,会先把变量、命令解析出来,然后输出最终内容,如果字符串中带有空格等特殊字符,则不能完整输出,需要改加双引号。一般连续的字符串,数字,路径等可以用,不过用双引号,替代之。

45.Linux启动过程中几个重要配置文件的执行过程

Linux 登录后,配置执行顺序为(Debian Serials Capable):

/etc/environment -> /etc/profile -> (~/.bash_profile | ~/.bash_login | ~/.profile) -> ~/.bashrc -> /etc/bashrc -> ~/.bash_logout

关于各个文件的作用说明:

(1)/etc/environment:此配置文件设置基本的PATH变量,及系统当前语言变量,虽然比较短,但却在系统启动中占据举足轻重的作用,比如如下是我的系统中的内容:

(2)/etc/profile: 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。

(3)/etc/bash.bashrc: 为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取。

(4)~/.bash_profile: 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。

(5)~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。

(6)~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。

(7)~/.bash_profile 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。

46.LINUX 常用命令及作用

1、cat:可以显示文件的内容,或将多个文件合并成一个文件。

2、chgrp:用来改变文件或目录所属的用户组,命令的参数以空格分开的要改变属组的文件列表,文件名支持通配符,如果用户不是该文件的所有者,则不能改变该文件的所属组。

3、chmod:用于改变文件或目录的访问权限,该命令有两种用法:一种是使用图形化的方法,另一种是数字设置法。

4、chown:用来将指定用户或组为特定的所有者。用户可以设置为用户名或用户ID,组可以是组名或组ID。特定的文件是以空格分开的可以改变权限的文件列表,文件名支持通配符。
5、clear:用来清除终端屏幕。

6、cmp:用来比较两个文件的大小。

7、cp:(copy)可以将文件或目录复制到其他目录中,就如同Dos下的copy命令一样,功能非常强大。在使用cp命令时,只需要指定源文件名或目标目录即可。

8、cut:用来移除文件的部分内容。

9、diff:用来找出两个文件的不同之处。

10、du: 用来显示磁盘的剩余空间的大小。

11、file:用来显示文件的类型。

12、find:用来在目录中搜索文件,并执行指定的操作。

13、head:只查看文件的头几行内容,而不必浏览整个文件。

14、ln:可以在文件之间创建链接,实际上是给某个文件指定一个访问它的别名。

15、less:用法与more类似,可以查看超过一屏的文件内容,不同的是less除了可以按空格键向下显示文件外,还可以利用方向键来滚动显示文件,要结束浏览,只要在less的提示符“:”后按Q即可。

16、locate:可用于查找文件,且比find命令的搜索速度快。

17、ls(list):用来显示当前目录中的文件和子目录列表。

18、mkdir(make directory):建立子目录。

19、more:用于显示内容超过一屏的文件,为了避免文件内容显示瞬间就消失,可以使用more命令让文件显示满一屏时暂停,在按下任意键的时候继续显示下一屏的内容。

20、rmkdir(remove directory):用来删除“空”的子目录或无用的目录文件。

21、mv(move):可以将文件以及目录移到其他位置,或更改文件以及目录的名称。

22、pico:可指定文本的编辑方式。

23、pwd(print working directory):可显示用户当前所在的目录。

24、rm:用来删除系统中过时或无用的文件,可以删除目录中的文件或目录本身,对于链接文件,原有文件保持不变。

25、sort:将文本文件自动分类。

26、stat:用于显示文件或文件系统的状态。

27、Strings:显示文件中要打印的字符串。

28、tail:输出文件的结尾。

29. touch:改变文件的时间戳。

30、umask:用于启动bash shell。

31、uniq:移除已分类文件中的重复文本行。

32、vi:启动vi文本编辑器。

33、wc:显示文件中字节、词组合文本行的数目。

34、whereis:查找特定目录下的原始程序,二进制程序或用户手册等文件的位置。

35、man:如果用户对某个命令想了解更详细的话,可使用此命令。

36、dd:复制一个文件。

37、df:查看一个文件系统的磁盘空间使用情况。

38、edquoat:设置用户与用户组的磁盘空间限制,即Windows系统中的配额。

39、fdformat:格式化软盘。

40、fdisk:执行Linux下的磁盘分区。

41、mkfs:建立一个Linux文件系统。

42、mkswap:创建一个Linux交换分区。

43、mount:挂载一个文件系统。

44、quota:限制和显示用户可用的磁盘空间。

45、swapon,swapoff:启用或取消设备和文件的交换页。

46、quotaon,quotaoff:启用或取消quota限制。

47、umount:取消文件系统的装备。

你可能感兴趣的:(linux日常使用总结)