linux初级之总结复习
阅读原文时间:2023年07月09日阅读:1

一、linux命令复习

1.ls:列出当前目录下的文件

  -h:

  -l:

  -d:

  -a:

2. man: 命令帮助手册

3. cd: 切换目录

  -: 

  ~:

  ..:

  cd:

4. pwd: 显示当前工作目录

5. cp: 复制文件或者目录

  -a: 相当于-rp

  -r: (--recursive递归的)

  -p:(--preserve)保持属性不变

6. touch

7. mkdir:

  -p:(--parents)

8. echo

  -e:

  -n:

9. mv

10. rm

  -f:

  -r:(--recursive)

  -rf

11. rmdir:

12. cat

  -n

13. more

14. less

15. head

16. tail

  -f:

17. poweroff

18. reboot

  shutdown now立即关机

  shutdown -P关机(1分钟后)

  shutdown 0立即关机

  shutdown 33分钟后关机

  shutdown -r 重启(1分钟后)

  shutdown -c取消

  shutdown -r now 立即重启

19. clear

  ctrl+l

20. alias

  eg:ls="ls --color"

  \ls正常使用ls原本的命令,不使用其别名

21. unalias

22. uname:

  -a:(--all)

  -r:(--kernel-release)

23. su:

  -:

24. hostname

25. hostnamectl set-hostname

26. history

  history -c清除当前用户的历史命令 (echo > ~/.bash_history)

  ctrl+r:用Ctrl+R搜索历史命令;当你执行了一串相当长的命令之后,你只要用关键字搜索一下历史命令然后重新执行这条命令而不需要将整条命令再输一遍。方法是:按下Ctrl+R然后输入关键字。如搜索”date”,则显示历史的命令中含有”date”的命令 date "+今天是:%F,%A,时间是:%T.准备吃饭去"。按回车,就可以重新执行这条命令了,而按左箭头键或右箭头键则可以直接修改,改完之后按回车执行,非常方便!(reverse-i-search)

  history number 执行第几条命令

  !! 执行上条命令

  ! NUMBER

27. which

28. wc

  -l:

  -w:

  -c:

29. w

30. who

31. whoami

32. ping

  -c:

  -w:

  -i:(interval)

33. kill

  kill -15:

  kill -9:

34. ps

  aux:

  -ef:

35. ss

  -t:(--tcp)

  -n:(--numeric)

  -l:(--listening)

  -a:(--all)

36. lsof

37. yum

  /etc/yum.conf

  /etc/yum.repos.d/*.repo

  yum clean all:

  yum makecache

  yum repolist:

  yum install s1… -y

  yum list/yum list all

  yum list installed

  yum list available

38. rpm

  rpm -ivh

  rpm -e

  rpm -q

  rpm -qa

  rpm -ql

  rpm -qf

39. df

  -h

40. du

  -h:

  -s:

41. free

  -h:

  -m:

42. top

43. uptime

44. find

  -name:

  -type: f/d/l

  -mtime:

  -ctime: 

  -atime:

  -perm:

  -user:

  -group:

  -nouser:

  -nogroup:

  -size:

  -exec rm -rf {} \;

  | xargs rm -rf 

45. grep:

  -E:

  -n:(--line-number)

  -c:(--count)

  -o:(--only-matching)

  -A:(--after-context=NUM)

  -B:(--before-context=NUM)

  -C:(--context=NUM)

  -v:(--invert-match)

  -i:(--ignore-case)

  -w: (--word-regexp)

46. sed:

  -n:(--quiet)

  -r:(--regexp-extended)

  -e:(--expression=script)

  -i:(--in-place[=SUFFIX])

47. awk:

  -F: -F " "

48. useradd

  -r:

  -s:

  -u:

  -g:

  -G:

49. userdel

  -r

50. usermod

  -r:

  -s:

  -u:

  -g:

  -G:

  -l:

51. tar

  czvf

  xzvf

52. date

  -s:

  %F:

  %T:

53. unzip

54. mount

  -t:

55. umount

56. crontab

  -l:

  -e:

  -r:

  -u:

57. at

  atq:

  atrm

  at -l

58. mdadm:

  -C:

  -v:

  -n:

  -l:

  -x:

59. fdisk:

  -l:

60. mkfs.xfs

61. pvcreate:

62. vgcreate

63. lvcreate

  -n:

  -L:  

  -l:

64. lvextend

  lvresize

65. xfs_growfs

66. chmod

  -R:

67. chown

  -R:

68. setfacl:

  -m:

  -b:

69. getfacl

70. sudo

  visudo

71. ssh

  -p:

72. scp:

  -P:

  -r:

73. systemctl

  start:

  restart:

  stop:

  reload:

  enable:

  disable:

  status

74. vim

  -O:  

  -o:

75. cut:

  -d:  

  -f:

  -c:

76. sort:

  -n:

  -r:

  -t:

  -k:

77. uniq:

  -c:

78. seq:

79. tr

  -d:

80. groupadd:

81. passwd

  echo "密码" | passwd --stdin "用户名"

82. ip

  ip a: ip address show

  ip r: ip route show

  ip a a: ip address add 

83. id

84. rz

85. sz

86. swapon

87. swapoff

  -a:

88. wget

  -P:

89. curl

elinks文本浏览器

-dump:将HTML文档以纯文本的方式打印到标准输出设备;

指定URL后可以访问网页

90. partprobe

91. nslookup查看域名信息

92. source指在当前bash环境下执行命令

93. bash

94. showmount

  -e:

95. ntpdate

96. ntpstat

97. cobbler 

98. httpd -t

99. nginx -t

100. tree

101. pstree

102. ssh-keygen

103. ssh-copy-id

104. telnet IP 端口

105. pdbedit

  -a:

  -u:

106. make

107. make install

  ./configure

108. setenforce 0

  setenforce 1

109. getenforce

110. exit退出脚本

  break跳出循环

  continue 跳出本次循环,继续下次循环

111. dd if=/edv/zero of=test bs=100M count=2

112.TCP/UDP 

  1.tcp面向连接,可靠传输,消耗系统资源比较多,传输速度较慢,

  但是数据传输安全完整

  2. UDP无面向连接,不可靠传输,消耗系统资源较少,传输速度比较快

  但是数据传输可能不完整会产生丢包现象 

二、linux服务复习

1. samba

yum install samba -y

vim /etc/samba/smb.conf

[ren]

path = /ren

read only = no

public = yes

sed -i '$a [ren]\npath = /ren\nread only = no\npublic = yes' /etc/samba/smb.conf

systemctl restart smb

useradd ken

pdbedit -a -u ken

smbpasswd -a ken

chmod

mount -t cifs -o username=USERNAME password=PASSED //ServerIP/ShareDIR /LocalDIR

2. ftp(20/21)

vsftpd:

主动和被动模式:参照物是server端

主动模式就是服务器端主动连接客户端

被动模式就是服务器端等待客户端连接

主动模式过程:

客户端通过21端口,发送密码,用户port指令,服务器端相应客户端

服务器端使用20端口主动连接客户端的随机高位端口,客户端要返回确认,开始传输数据

被动模式过程:

客户端通过21端口,发送密码,用户pasv指令,服务器端相应客户端

服务器端使用随机高位端口主动连接客户端的随机高位端口,客户端要返回确认,开始传输数据

useradd ren01

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO

3. ntp(123)

vim /etc/ntpd.conf

server 127.127.1.0

restrict 127.0.0.1

restrict 192.168.11.5 mask 255.255.255.0

ntpstat

ntpdate

3.5. chrony(323)

   /etc/chrony.conf

  allow 192.168.10.0/24

4. NFS(2049)

systemctl restart rpcbind nfs-utils

/etc/exports

esportfs -r

/ren192.168.11.5/32(rw) 

showmount -e ServerIP

mount -t nfs ServerIP:/ShareDIR /LocalDIR

5. DHCP

/usr/share/doc/dhcp-*/dhcpd.conf.example

/etc/dhcp/dhcpd.conf

subnet 192.168.11.0 netmask 255.255.255.0 {

range 192.168.11.10 192.168.11.200;

}

6. DNS

yum -y install bind bind-utils

/etc/named.conf

/etc/named.rfc1912.zones

/var/named/named.localhost     A: 正向解析

/var/named/named.loopback     PTR: 反向解析 

nslookup

7. apache

/etc/httpd/conf/httpd.conf

/etc/httpd/conf.d/*.conf

Listen 81

ServerName a.com

DocumentRoot /work/html1

Options Indexes FollowSymLinks

AllowOverride None

Require all granted

directoryindex

/etc/hosts

LAMP:

yum install httpd php php-mysql mariadb-server -y

日志:/var/log/httpd/

8. tomcat

8005:

8009:

8080:

9. nginx

/etc/nginx/nginx.conf

/etc/nginx/conf.d/*.conf

server {

listen80;

server_namea.com;

location / {

root /work;

}

}

反向代理

proxy_pass

负载均衡

upstream

LNMP

yum install nginx php php-fpm php-mysql mariadb-server -y

fastcgi_pass 127.0.0.1:9000;

include fastcgi.conf;

location ~ \.php$ {

fastcgi_pass 192.168.64.5:9000;

include fastcgi.conf;

}

10. cobbler

yum install cobbler dhcp httpd syslinux xinetd tftp-server pykickstart -y

vim /etc/dhcp/dhcpd.conf

systemctl restart dhcpd

systemctl enable dhcpd

vim /etc/xinetd.d/tftp

disable = no

systemctl restart xinetd

systemctl enable xinetd

systemctl restart httpd

systemctl restart cobblerd

cobbler check

vim /etc/cobbler/settings

sed -i '384s/127.0.0.1/$IP/g' /etc/cobbler/settings

sed -i '272s/127.0.0.1/$IP/g' /etc/cobbler/settings

systemctl restart rsyncd

101 default_password_crypted:"    "

systemctl restart cobblerd

cobber check

cobbler sync

mount /dev/cdrom /mnt

cobbler import --path=/mnt --name="centos7.5"

kickstart:

url --url=http://

cobbler profile add --kickstart=/var/lib/cobbler/kickstart/ks.cfg 

--distro=centos7.5_x86-64 --name="centos7.5_ken"

11. pxe

yum -y install dhcp tftp-server xinetd syslinux httpd

12. SVN

yum -y install svn

vim /etc/sysconfig/svnserve

/var/svn/ren

authz passwd svnserve.conf

svn checkout

svn update

三、shell编程

1. IP正则:“^([0-9]\.|[1-9][0-9]\.|1[0-9][0-9]\.|2[0-4][0-9]\.|25[0-5]\.){3}([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-4])$”

  密码(至少八位,包含大小写字母,数字) :“egrep [a-z] |egrep [A-Z] |grep [0-9] |grep ^.{8,}$”

2.  if 条件

  then

  elif 条件 ;then

  else

  fi

3. for 变量 in 范围

  do

  done

4. while :

  do

  done

  break  exit  continue

5.case