LINUX基础

起源

诞生于1991年,芬兰,林纳斯 开源、免费 内核官网:www.kernel.org
发行版本:redhat centos Ubuntu 红旗
目录层级结构

系统命令保存目录

/bin、/sbin、/usr/bin、/usr/sbin

挂载目录:/mnt、/media

/mnt:挂载U盘、移动硬盘等
/media:挂载媒体设备,如光盘

系统配置文件目录:/etc

用于保存系统所有默认安装的服务的配置文件

用户家目录:/root、/home

超级用户root的家目录:/root

/home

在/home目录下以普通用户的用户名命名的目录为该用户的家目录。比如用于user1,家目录为/home/user1

常用操作简介

↑和↓可以滚动之前用过的命令
Tab键:自动补全命令、文件名、目录名
pwd:显示当前所在目录
cd:切换目录
.:表示当前目录
…:表示上一级目录
帮助命令:help、man

两个常见错误:

command not found:大概率是命令错误
没有那个文件或目录:文件/目录的路径或者名字错误

目录管理

mkdir

mkdir:新建目录 touch(新建空文件)
语法:mkdir [-p] 目录名
【例】在/work下创建目录dir:mkdir /work/dir(绝对路径)
Mkdir . /dir (相对路径)
-p:创建多级目录
【例】在/work下创建目录A/B/C:mkdir -p /work/A/B/C 创建多级目录
ls:列出指定目录下的内容,如果不指定则列出当前目录下的内容
-l:以详细信息方式列出目录内容,ls -l等价于ll
-a:列出所有内容,包括隐藏文件或者目录
语法:ls [参数] [目录]
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cp

cp:复制文件或者目录
-r:复制目录
语法:cp [-r] 源文件/目录 目的路径
在这里插入图片描述

mv

mv:剪切文件或目录;重命名文件或目录
语法(剪切):mv 源文件或目录 目的路径
在这里插入图片描述
语法(重命名):mv 源文件或目录 新名字
在这里插入图片描述

rmdir

rmdir:删除空目录
注意:只能删除空目录,如果目录非空则该命令无效
在这里插入图片描述

rm -rf 强制删除目录及目录下所有文件
rm -f 强制删除文件

在这里插入图片描述

组信息文件

/etc/group(查看文件内容:cat)
在这里插入图片描述
组ID
0:表示超级用户组
1-499:表示系统用户组
= >500:表示普通用户组

用户组相关命令

groupadd、groupmod、groupdel

groupadd:新建用户组

语法:groupadd [参数] 组名
在这里插入图片描述
-g:指定组ID
在这里插入图片描述
-o:允许ID重复
在这里插入图片描述

groupmod:编辑用户组

语法:groupmod [参数] 组名
-g:修改组id
-o:允许id重复
-n:修改组名
在这里插入图片描述

groupdel:删除用户组

语法:groupdel 组名
在这里插入图片描述
注意:如果组下有用户时不能直接删除该组

用户信息文件

/etc/passwd(查看文件后n行内容:tail -n 文件名)
在这里插入图片描述
1、用户名 2、密码位
3、用户id
0:表示超级用户
1-499:表示系统用户
=500:表示普通用户
4、用户所属组id 5、备注信息 6、用户家目录 7、默认shell

用户相关命令

useradd、usermod、userdel、passwd

useradd:新增用户

语法:useradd [参数] 用户名
在这里插入图片描述
-u:指定用户id
-o:允许id重复
-g:指定用户的主属组(每个用户只能有一个主属组)
-G:指定用户的附加组(每个用户可以有若干附加组)
-c:指定备注信息
在这里插入图片描述

passwd:设置用户密码

语法:passwd [用户名]
在这里插入图片描述

usermod:编辑用户信息

语法:usermod [参数] 用户名
-u:指定用户id
-o:允许id重复
-g:指定用户的主属组(每个用户只能有一个主属组)
-G:指定用户的附加组(每个用户可以有若干附加组)
-c:指定备注信息
-l:修改用户名
在这里插入图片描述

userdel:删除用户

语法:userdel [参数] 用户名
在这里插入图片描述
-r:删除用户家目录
在这里插入图片描述

其他命令:groups,id,gpasswd

groups:显示用户所属的组(包括主属组合附加组)
id:显示用户id以及所属组id
在这里插入图片描述
gpasswd:管理用户组中的用户
-a:向用户组中添加用户
在这里插入图片描述
-d:从用户组中删除用户
在这里插入图片描述

文件管理

touch:新建空文件

语法:touch 文件名1 [文件名2] …

打开文件:vi [参数] 文件名

+n:打开文件,光标位于第n行行首
+:打开文件,光标位于最后一行行首
命令模式:
查找命令
/:从光标位置开始往文件末尾查找指定字符串,按n显示下一个,N显示上一个
在这里插入图片描述
?:从光标位置开始往文件开头查找指定字符串,按n显示下一个,N显示上一个
复制粘贴
yw:复制光标位置开始到单词结尾的字符串
nyw:复制n个单词
yy:复制光标所在行
nyy:复制光标所在行开始的n行
p:粘贴
替换命令
😒/r1/r2/g:将光标所在行的r1替换为r2
在这里插入图片描述
:g/r1/s//r2/g:将文件中的所有r1替换为r2
删除命令
x:删除光标字符
nx:删除光标后面n个字符
X:删除光标前面一个字符
nX:删除光标前面n个字符
dd:删除光标所在行的后面所有字符
ndd:删除光标所在行开始的n行
编辑模式:
打开文件后,按a/A、i/I、o/O进入编辑模式
a:在光标后插入
A:在光标在行行尾
i:在光标前插入
I:在光标所在行行首
o:在当前行下面新开一行
O:在当前行上面新开一行
退出vi:
如果是在编辑模式,需要先退出编辑模式,Esc键可以退出编辑模式
:wq:保存退出
:w:保存
:q:退出
:q!:强制退出

显示文件内容:cat、head、tail、more

cat:一次性将整个文件内容全部显示

语法:cat [参数] file1 [file2] …
在这里插入图片描述
-n:对文件所有行编号
在这里插入图片描述
-b:对文件的非空行编号
在这里插入图片描述

head:显示文件开头的指定数量的内容

在这里插入图片描述

tail:显示文件结尾的指定数量的内容

-n:指定显示的行数,如果不指定则默认显示10行
在这里插入图片描述
显示文件倒数第三行 tail -3 文件名 | head -1
显示文件倒数第三行和第二行 tail -3 文件名 | head -2

more:分页显示文件内容 空行也算在里面

语法:more +n -m 文件名
+n:指定从文件的哪一行开始显示
-m:指定每页显示的行数
操作:z–下一页,b–上一页
在这里插入图片描述
sort:对文件内容排序,默认以第一例升序排序,根据asc码排序
-r:降序

wc:统计文件内容(行数、字数、字节数等)

语法:wc [参数] 文件名
-l:统计行数
-w:统计字数
-c:统计字节数
-m:统计字符数
在这里插入图片描述

grep:查找文件内容

语法:grep [参数] 指定查询内容 文件名
在这里插入图片描述
-c:返回匹配行的数量
在这里插入图片描述
-n:标记匹配行在文件中的行号
在这里插入图片描述
-v:返回不匹配的行
在这里插入图片描述
-i:忽略大小写
在这里插入图片描述
–color:对匹配的内容标记颜色
在这里插入图片描述
范围匹配:[]
[0-9]:匹配数字
[a-z]:匹配小写字母
[A-Z]:匹配大写字母
在这里插入图片描述
^:匹配行首(查询以指定字符开头的行)
在这里插入图片描述
$:匹配行尾(查询以指定字符结尾的行)
在这里插入图片描述

du:查看文件大小

[root@VM-0-10-centos home]# du test.sh 
4	test.sh
[root@VM-0-10-centos home]# du -h --max-depth=1 /home
16K	/home/1
28K	/home
[root@VM-0-10-centos home]# du /home
4	/home/1/2/3/4
8	/home/1/2/3
12	/home/1/2
16	/home/1
28	/home
[root@VM-0-10-centos home]# ls
1  22.sh  test.sh

find:查找文件

补充:

在这里插入图片描述

1、对象类型:
-:表示普文件
d:表示目录
l:表示链接文件
2、表示所有者权限 3、表示所属组用户权限 4、表示其他用户的权限
5、表示链接数 6、表示对象的所有者 7、表示对象所属的组 8、表示对象大小
9、表示最后一次修改时间 10、对象名
语法:find 路径 查找方式 所查找的文件名

-name:以文件名查找

在这里插入图片描述

-user:以所有者查找

在这里插入图片描述

-group:以所属组查找

在这里插入图片描述

-type:以属性查找,f表示普通文件,d表示目录

在这里插入图片描述

chmod:修改权限

-R:将目录及其目录下的内容一起修改
权限表示方法:
数字:r–4,w–2,x–1
【例】比如一个文件全选为760,7表示所有者有读写执行权限,所属组用户有读写权限,其他用户无权限
英文字符:
r:读权限
w:写权限
x:执行权限
u:所有者
g:所属组
o:其他用户
a:所有用户
+:增加权限
-:删除权限
=:赋予权限
【例】u-x,g-wo+r:所有者删除执行权限,所属组用户删除写权限,其他用户增加读权限
在这里插入图片描述
权限说明
在这里插入图片描述

chown:修改文件或目录的所有者

语法:chown [-R] 用户名(已经在系统中存在的用户名) 对象名(要修改的文件或者目录)
-R:同时修改目录及其目录下的内容的所有者
在这里插入图片描述

chgrp:修改文件或者目录的所属组

语法:chgrp [-R] 组名 对象名
在这里插入图片描述

rm:删除文件或目录

语法:rm [参数] 对象名
-r:删除目录
-f:删除时不提示
在这里插入图片描述

网络通信

ifconfig:显示IP配置信息
在这里插入图片描述
ping:测试与目的ip之间网络通信是否正常
netstat:查询系统网络状态信息,常用netstat -ano进行查询
hostname:显示主机名

备份压缩

gzip:压缩或解压缩文件,只对单个文件有效,压缩文件的后缀为.gz

语法:gzip [参数] 文件名
在这里插入图片描述
-d:解压缩
在这里插入图片描述
-r:压缩目录下的内容
在这里插入图片描述

bzip2:压缩或解压缩文件,只对单个文件有效,压缩文件的后缀为.bz2

语法:bzip2 [参数] 文件名
-d:解压缩
在这里插入图片描述
-k:保留原文件
在这里插入图片描述

zip:压缩文件,可以将多个文件压缩到一个压缩文件中,后缀为.zip

压缩文件语法:zip [参数] 压缩包名 file1 file2 …
-r:压缩目录
-m:删除原文件
在这里插入图片描述

unzip:查看或者解压缩.zip格式压缩文件

语法:unzip [参数] xxx.zip (不加参数为解压缩操作)
在这里插入图片描述
-l:列出压缩文件中的内容
在这里插入图片描述

tar:打包

语法:tar [参数] 包名 file1 file2 file3 …
-c:创建新的包
在这里插入图片描述
-x:从包中还原文件
在这里插入图片描述
-v:显示命令执行过程
-f:指定备份文件
-j:调用bzip2命令压缩文件,文件后缀.tar.bz2
在这里插入图片描述
在这里插入图片描述
-z:调用gzip命令压缩文件,文件后缀.tar.gz
在这里插入图片描述
在这里插入图片描述

系统资源查看

top:实时显示系统当前运行情况(动态)
ps:显示当前系统进程信息(静态)
vmstat:显示系统虚拟内存状态
rpm:文件安装(安装.rpm文件)
查询模式:-q
常用rpm -qa|grep 指定条件,查询指定软件包
安装模式:-ivh
搭建ftp服务器,安装vsftpd软件包
在这里插入图片描述
启动服务
service 服务名 start/stop/restart
在这里插入图片描述
卸载模式:-e
在这里插入图片描述

1.查进程

ps命令查找与进程相关的PID号:
ps a 显示现行终端机下的所有程序,包括其他用户的程序。
ps -A 显示所有程序。
ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
ps -e 此参数的效果和指定"A"参数相同。
ps e 列出程序时,显示每个程序所使用的环境变量。
ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
ps -H 显示树状结构,表示程序间的相互关系。
ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
ps s 采用程序信号的格式显示程序状况。
ps S 列出程序时,包括已中断的子程序资料。
ps -t<终端机编号> 指定终端机编号,并列出属于该终端机的程序的状况。
ps u 以用户为主的格式来显示程序状况。
ps x 显示所有程序,不以终端机来区分。

最常用的方法是ps aux,然后再通过管道使用grep命令过滤查找特定的进程,然后再对特定的进程进行操作。
ps aux | grep program_filter_word,ps -ef |grep tomcat

ps -ef|grep java|grep -v grep 显示出所有的java进程,去处掉当前的grep进程。

2.杀进程

使用kill命令结束进程:kill xxx
常用:kill -9 324
Linux下还提供了一个killall命令,可以直接使用进程的名字而不是进程标识号,例如:# killall -9 NAME

3.进入到进程的执行文件所在的路径下,执行文件 ./文件名

总结

  1. 更改档案拥有者
    命令 : chown [-cfhvR] [–help] [–version] user[:group] file…
    功能 : 更改文件或者文件夹的拥有者
    参数格式 :
       user : 新的档案拥有者的使用者 IDgroup : 新的档案拥有者的使用者群体(group)
       -c : 若该档案拥有者确实已经更改,才显示其更改动作
       -f : 若该档案拥有者无法被更改也不要显示错误讯息
       -h : 只对于连结(link)进行变更,而非该 link 真正指向的档案
       -v : 显示拥有者变更的详细资料
       -R : 对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)

例如:chown -R oracle:oinstall /oracle/u01/app/oracle
更改目录拥有者为oracle

  1. 修改权限
    命令:chmod (change mode)
    功能:改变文件的读写和执行权限。有符号法和八进制数字法。
    选项:(1)符号法:
    命令格式:chmod {u|g|o|a}{+|-|=}{r|w|x} filename
    u (user) 表示用户本人。
    g (group) 表示同组用户。
    o (oher) 表示其他用户。
    a (all) 表示所有用户。
    + 用于给予指定用户的许可权限。
    - 用于取消指定用户的许可权限。
    = 将所许可的权限赋给文件。
    r (read) 读许可,表示可以拷贝该文件或目录的内容。
    w (write) 写许可,表示可以修改该文件或目录的内容。
    x (execute)执行许可,表示可以执行该文件或进入目录。

       (2)八进制数字法:   
    

命令格式:chmod abc file
其中a,b,c各为一个八进制数字,分别表示User、Group、及Other的权限。
4 (100) 表示可读。
2 (010) 表示可写。
1 (001) 表示可执行。
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5。

例如:# chmod a+rx filename 
        让所有用户可以读和执行文件filename。 
      # chmod go-rx filename 
        取消同组和其他用户的读和执行文件filename的权限。 
      # chmod 741 filename 
        让本人可读写执行、同组用户可读、其他用户可执行文件filename。 

chmod -R 755 /home/oracle

递归更改目录权限,本人可读写执行、同组用户可读可执行、其他用户可读可执行 
  1. 修改文件日期
    命令:touch
    格式:touch filenae
    功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
    例如:% touch file

  2. 链接文件
    命令:ln (link)
    格式:ln [option] filename linkname
    ln [option] directory pathname
    功能:为文件或目录建立一个链。其中,filename和directory是源文件名和
    源目录名;linkname和pathname分别表示与源文件或源目录名相链接的
    文件或目录。
    选项:-s 为文件或目录建立符号链接。不加-s表示为文件或目录建立硬链接
    注释:链接的目地在于,对一个文件或目录赋予两个以上的名字,使其可以出
    现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
    例如:% ln -s filename linkname

  3. 显示日期
    命令:date
    例如:% date

  4. 显示日历
    命令:cal (calendar)
    格式:cal [month] year
    功能:显示某年内指定的日历
    例如:% cal 1998

  5. 显示文件头部
    命令:head
    格式:head [option] filename
    功能:显示文件的头部
    选项:缺省 显示文件的头10行。
    -i 显示文件的开始 i行。
    例如:% head filename

  6. 显示文件尾部
    命令:tail
    格式:tail [option] filename
    功能:显示文件的尾部
    选项:缺省 显示文件的末10行。
    -i 显示文件最后 i行。
    +i 从文件的第i行开始显示。
    例如:% tail filename

  7. 显示用户标识
    命令:id
    格式:id [option] [user]
    功能:显示用户标识及用户所属的所有组。
    选项:-a 显示用户名、用户标识及用户所属的所有组
    注释:
    例如:% id username

  8. 查看当前登录的用户
    命令:users

  9. 显示都谁登录到机器上
    命令:who
    格式:who
    功能:显示当前正在系统中的所有用户名字,使用终端设备号,注册时间。
    例如:% who

  10. 显示当前终端上的用户名
    命令:whoami
    格式:whoami
    功能:显示出当前终端上使用的用户。
    例如:% whoami

  11. 寻找文件
    命令:find
    格式:find pathname [option] expression
    功能:在所给的路经名下寻找符合表达式相匹配的文件。
    选项:-name 表示文件名
    -user 用户名,选取该用户所属的文件
    -size 按大小查找,以block为单位,一个block是512B
    -mtime n 按最后一次修改时间查找,选取n天内被修改的文件
    -perm 按权限查找
    -type 按文件类型查找
    -atime 按最后一次访问时间查找

    例如:% find ./ -name ‘abc’ -print

  12. 搜索文件中匹配符
    命令:grep
    格式:grep [option] pattern filenames
    功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
    选项:-i 匹配时忽略大小写
    -v 找出模式失配的行

    例如:% grep -i ‘java*’ ./test/run.sh

  13. 统计文件字数
    命令:wc [option] filename
    功能:统计文件中的文件行数、字数和字符数。
    选项:-l 统计文件的行数
    -w 统计文件的单词数
    -c 统计文件的字符数
    注释:若缺省文件名则指标准输入
    例如:% wc -c ./test/run.sh

  14. 显示磁盘空间
    命令:df (disk free)
    格式:df [option]
    功能:显示磁盘空间的使用情况,包括文件系统安装的目录名、块设备名、总
    字节数、已用字节数、剩余字节数占用百分比。
    选项:
    -a:显示全部的档案系统和各分割区的磁盘使用情形
    -i:显示i -nodes的使用量
    -k:大小用k来表示 (默认值)
    -t:显示某一个档案系统的所有分割区磁盘使用量
    -x:显示不是某一个档案系统的所有分割区磁盘使用量
    -T:显示每个分割区所属的档案系统名称
    -h: 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。
    注释:
    例如:% df -hi

  15. 查询档案或目录的磁盘使用空间
    命令:du (disk usage)
    格式:du [option] [filename]
    功能:以指定的目录下的子目录为单位,显示每个目录内所有档案所占用的磁盘空间大小
    选项:
    -a:显示全部目录和其次目录下的每个档案所占的磁盘空间
    -b:大小用bytes来表示 (默认值为k bytes)
    -c:最后再加上总计 (默认值)
    -s:只显示各档案大小的总合
    -x:只计算同属同一个档案系统的档案
    -L:计算所有的档案大小
    -h: 表示档案系统大小使用 GB、MB 等易读的格式。
    例如:% du -a
    % du -sh /etc 只显示该目录的总合
    % du /etc | sort -nr | more 统计结果用sort 指令进行排序,
    sort 的参数 -nr 表示要以数字排序法进行反向排序。

  16. 显示进程
    命令:ps
    格式:ps [option]
    功能:显示系统中进程的信息。包括进程ID、控制进程终端、执行时间和命令。
    选项:
    -a 显示所有进程信息
    -U uidlist 列出这个用户的所有进程
    -e 显示当前运行的每一个进程信息
    -f 显示一个完整的列表
    -x 显示包括没有终端控制的进程状况 。
    注释:
    例如:% ps -ef
    % ps -aux 然后再利用一个管道符号导向到grep去查找特定的进程,然后再对特定的进程进行操作。

  17. 终止进程
    命令:kill
    格式:kill [option] pid
    功能:向指定的进程送信号或终止进程。kill指令的用途是送一个signal给某一个process,
    因为大部份送的都是用来杀掉 process 的 SIGKILL 或 SIGHUP ,因此称为 kill
    选项:-9 强行终止进程
    注释:pid标示进程号,可由ps命令得到。
    例如:% kill -9 pid
    你也可以用 kill -l 来察看可代替 signal 号码的数目字。kill 的详细情形请参阅 man kill。

  18. 查看自己的IP地址
    命令:ifconfig
    格式:ifconfig -a

  19. 查看路由表
    命令:netstat
    格式:netstat -rn

  20. 远程登录
    命令:telnet
    格式:telnet hostname

  21. 文件传输
    命令:ftp (file transfer program)
    格式:ftp hostname
    功能:网络文件传输及远程操作。
    选项:ftp命令:
    cd [dirname] 进入远程机的目录
    lcd [dirname] 设置本地机的目录
    dir/ls 显示远程的目录文件
    bin 以二进制方式进行传输
    asc 以文本文件方式进行传输
    get/mget 从远程机取一个或多个文件
    put/mput 向远程机送一个或多个文件
    prompt 打开或关闭多个文件传送时的交互提示
    close 关闭与远程机的连接
    quit 退出ftp
    !/exit ftp登陆状态下,!表示暂时退出ftp状态回到本地目录,exit表示返回ftp状态
    注释:
    例如:% ftp hostname

  22. 查看自己的电子邮件
    命令:mailx
    格式:mailx
    选项:
    delete 删除
    next 下一个
    quit 退出
    reply 回复

  23. 回忆命令
    命令:history
    格式:history
    功能:帮助用户回忆执行过的命令。
    选项:
    注释:
    例如:% history

  24. 网上对话
    命令:talk
    格式:talk username
    功能:在网上与另一用户进行对话。
    选项:
    注释:对话时系统把终端分为上下两部分,上半部显示自己键入信息,下半部
    显示对方用户键入的信息。键入delete或Ctrl+C则结束对话。
    例如:% talk username

  25. 允许或拒绝接受信息
    命令:mesg (message)
    格式:mesg [n/y]
    功能:允许或拒绝其它用户向自己所用的终端发送信息。
    选项:n 拒绝其它用户向自己所用的终端写信息
    y 允许其它用户向自己所用的终端写信息(缺省值)
    注释:
    例如:% mesg n

  26. 给其他用户写信息
    命令:write
    格式:write username [ttyname]
    功能:给其他用户的终端写信息。
    选项:
    注释:若对方没有拒绝,两用户可进行交谈,键入EOF或Ctrl+C则结束对话。
    例如:write username

  27. 创建、修改、删除用户和群组
    a. 创建群组:
    例如: groupadd oinstall 创建群组名为oinstall的组
    groupadd -g 344 dba
    创建组号是344的组,此时在/etc/passwd文件中产生一个组ID(GID)是344的项目。
    b. 修改群组:
    groupmod:该命令用于改变用户组帐号的属性
    groupmod –g 新的GID 用户组帐号名
    groupmod –n 新组名 原组名:此命令由于改变用户组的名称

    c. 删除群组:
    groupdel 组名:该命令用于删除指定的组帐号

    d. 新建用户:
    命令: useradd [-d home] [-s shell] [-c comment] [-m [-k template]]
    [-f inactive] [-e expire ] [-p passwd] [-r] name
    主要参数
    -c:加上备注文字,备注文字保存在passwd的备注栏中。 
    -d:指定用户登入时的启始目录。
    -D:变更预设值。
    -e:指定账号的有效期限,缺省表示永久有效。
    -f:指定在密码过期后多少天即关闭该账号。
    -g:指定用户所属的群组。
    -G:指定用户所属的附加群组。
    -m:自动建立用户的登入目录。
    -M:不要自动建立用户的登入目录。
    -n:取消建立以用户名称为名的群组。
    -r:建立系统账号。
    -s:指定用户登入后所使用的shell。
    -u:指定用户ID号。

举例: # useradd -g oinstall -G dba oracle 创建Oracle用户

e. 删除用户 

命令: userdel 用户名
删除指定的用户帐号
userdel –r 用户名(userdel 用户名;rm 用户名):删除指定的用户帐号及宿主目录
例:#useradd -g root kkk //把kkk用户加入root组里

f. 修改用户 

命令: usermod
修改已有用户的信息
usermod –l 旧用户名 新用户名: 修改用户名
usermod –L 用户名: 用于锁定指定用户账号,使其不能登陆系统
usermod –U 用户名: 对锁定的用户帐号进行解锁
passwd –d 用户名: 使帐号无口令,即用户不需要口令就能登录系统
例:#usermod -l user2 user1 //把用户user2改名为user1

  1. 启动、关闭防火墙
    永久打开或则关闭
    chkconfig iptables on
    chkconfig iptables off
    即时生效:重启后还原
    service iptables start
    service iptables stop
    或者:
    /etc/init.d/iptables start
    /etc/init.d/iptables stop

  2. 启动VSFTP服务
    即时启动: /etc/init.d/vsftpd start
    即时停止: /etc/init.d/vsftpd stop

开机默认VSFTP服务自动启动:
方法一:(常用\方便)
[root@localhost etc]# chkconfig --list|grep vsftpd ( 查看情况)
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
[root@localhost etc]# chkconfig vsftpd on (执行ON设置)
或者:方法二:
修改文件 /etc/rc.local , 把行/usr/local/sbin/vsftpd & 插入文件中,以实现开机自动启动。

  1. vi技巧
    a. 进入输入模式
    新增 (append)
    a :从光标所在位置後面开始新增资料,光标後的资料随新增资料向後移动。
    A:从光标所在列最後面的地方开始新增资料。

插入 (insert)
i:从光标所在位置前面开始插入资料,光标後的资料随新增资料向後移动。
I :从光标所在列的第一个非空白字元前面开始插入资料。

开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
b. 退出vi
在指令模式下键入:q,:q!,:wq或:x(注意:号),就会退出vi。其中:wq和:x是存盘退出,而:q是直接退出,如果文件已有新的变化,vi会提示你保存文件而:q命令也会失效,这时你可以用:w命令保存文件后再用:q 退出,或用:wq或:x命令退出,如果你不想保存改变后的文件,你就需要用:q!命令,这个命令将不保存文件而直接退出vi。

c. 删除与修改文件的命令:
x:删除光标所在字符。
dd :删除光标所在的列。
r :修改光标所在字元,r 後接著要修正的字符。
R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s:删除光标所在字元,并进入输入模式。
S:删除光标所在的列,并进入输入模式。

d. 屏幕翻滚类命令
Ctrl+u: 向文件首翻半屏
Ctrl+d: 向文件尾翻半屏
Ctrl+f: 向文件尾翻一屏
Ctrl+b: 向文件首翻一屏
nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

e. 删除命令
ndw或ndW: 删除光标处开始及其后的n-1个字
do: 删至行首
d$: 删至行尾
ndd: 删除当前行及其后n-1行
x或X: 删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u: 删除输入方式下所输入的文本

f. 搜索及替换命令
/pattern: 从光标开始处向文件尾搜索pattern
?pattern: 从光标开始处向文件首搜索pattern
n: 在同一方向重复上一次搜索命令
N: 在反方向上重复上一次搜索命令
😒/p1/p2/g: 将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g: 将文件中所有p1均用p2替换

g. 复制,黏贴
(1) 选定文本块,使用v进入可视模式;移动光标键选定内容
(2) 复制选定块到缓冲区,用y;复制整行,用yy
(3) 剪切选定块到缓冲区,用d;剪切整行用dd
(4) 粘贴缓冲区中的内容,用p

h. 其他
在同一编辑窗打开第二个文件,用:sp [filename]
在多个编辑文件之间切换,用Ctrl+w

简写

su:Swith user 切换用户,切换到root用户
cat: Concatenate 串联
uname: Unix name 系统名称
df: Disk free 空余硬盘
du: Disk usage 硬盘使用率
chown: Change owner 改变所有者
chgrp: Change group 改变用户组
ps:Process Status 进程状态
tar:Tape archive 解压文件
chmod: Change mode 改变模式
umount: Unmount 卸载
ldd:List dynamic dependencies 列出动态相依
insmod:Install module 安装模块
rmmod:Remove module 删除模块
lsmod:List module 列表模块
alias :Create your own name for a command
bash :GNU Bourne-Again Shell linux内核
grep:global regular expression print
httpd :Start Apache
ipcalc :Calculate IP information for a host
ping :Send ICMP ECHO_Request to network hosts
reboot: Restart your computer
sudo:Superuser do

/bin = BINaries
/dev = DEVices
/etc = 存放配置文件的地方。配置文件的目录
Editable Text Configuration 初期etcetra directory(ETCetera),后来"Editable Text Configuration" 或者 “Extended Tool Chest”。
/opt = Optional application software packages
pwd = print working Directory (打印工作目录)。
/lib = LIBrary
/proc = PROCesses
/sbin = Superuser BINaries
/tmp = TeMPorary
/usr = Unix Shared Resources
/var = VARiable ? 是储存各种变化的文件,比如log等等
FIFO = First In, First Out
GRUB = GRand Unified Bootloader
IFS = Internal Field Seperators
LILO = LInux LOader
MySQL = My最初作者的名字SQL = Structured Query Language
PHP = Personal Home Page Tools = PHP Hypertext Preprocessor
PS = Prompt String
Perl = “Pratical Extraction and Report Language” = “Pathologically Eclectic Rubbish Lister”
Python Monty Python’s Flying Circus
Tcl = Tool Command Language
Tk = ToolKit
VT = Video Terminal
YaST = Yet Another Setup Tool
apache = “a patchy” server
apt = Advanced Packaging Tool
ar = archiver
as = assembler
bash = Bourne Again SHell
bc = Basic (Better) Calculator
bg = BackGround
cal = CALendar
cat = CATenate
cd = Change Directory
chgrp = CHange GRouP
chmod = CHange MODe
chown = CHange OWNer
chsh = CHange SHell
cmp = compare
cobra = Common Object Request Broker Architecture
comm = common
cp = CoPy
cpio = CoPy In and Out
cpp = C Pre Processor
cups = Common Unix Printing System
cvs = Current Version System
daemon = Disk And Execution MONitor
dc = Desk Calculator
dd = Disk Dump
df = Disk Free
diff = DIFFerence
dmesg = diagnostic message
du = Disk Usage
ed = editor
egrep = Extended GREP
elf = Extensible Linking Format
elm = ELectronic Mail
emacs = Editor MACroS
eval = EVALuate
ex = EXtended
exec = EXECute
fd = file descriptors
fg = ForeGround
fgrep = Fixed GREP
fmt = format
fsck = File System ChecK
fstab = FileSystem TABle
fvwm = F*** Virtual Window Manager
gawk = GNU AWK
gpg = GNU Privacy Guard
groff = GNU troff
hal = Hardware Abstraction Layer
joe = Joe’s Own Editor
ksh = Korn SHell
lame = Lame Ain’t an MP3 Encoder
lex = LEXical analyser
lisp = LISt Processing = Lots of Irritating Superfluous Parentheses
ln = LiNk
lpr = Line PRint
ls = list
lsof = LiSt Open Files
m4 = Macro processor Version 4
man = MANual pages
mawk = Mike Brennan’s AWK
mc = Midnight Commander
mkfs = MaKe FileSystem
mknod = MaKe NODe
motd = Message of The Day
mozilla = MOsaic GodZILLa
mtab = Mount TABle
mv = MoVe
nano = Nano’s ANOther editor
nawk = New AWK
nl = Number of Lines
nm = names
nohup = No HangUP
nroff = New ROFF
od = Octal Dump
passwd = PASSWorD
pg = pager
pico = PIne’s message COmposition editor
pine = “Program for Internet News & Email” = “Pine is not Elm”
ping = Packet InterNet Grouper
pirntcap = PRINTer CAPability
popd = POP Directory
pr = pre
printf = PRINT Formatted
ps = Processes Status
pty = pseudo tty
pushd = PUSH Directory
pwd = Print Working Directory
rc = runcom = run command, shell
rev = REVerse
rm = ReMove
rn = Read News
roff = RunOFF
rpm = RPM Package Manager = RedHat Package Manager
rsh, rlogin, = Remote
rxvt = ouR XVT
sed = Stream EDitor
seq = SEQuence
shar = SHell ARchive
slrn = S-Lang rn
ssh = Secure SHell
ssl = Secure Sockets Layer
stty = Set TTY
su = Substitute User
svn = SubVersioN
tar = Tape ARchive
tcsh = TENEX C shell
telnet = TEminaL over Network
termcap = terminal capability
terminfo = terminal information
tr = traslate
troff = Typesetter new ROFF
tsort = Topological SORT
tty = TeleTypewriter
twm = Tom’s Window Manager
tz = TimeZone
udev = Userspace DEV
ulimit = User’s LIMIT
umask = User’s MASK
uniq = UNIQue
vi = VIsual = Very Inconvenient
vim = Vi IMproved
wall = write all
wc = Word Count
wine = WINE Is Not an Emulator
xargs = eXtended ARGuments
xdm = X Display Manager
xlfd = X Logical Font Description
xmms = X Multimedia System
xrdb = X Resources DataBase
xwd = X Window Dump
yacc = yet another compiler compiler

/var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。原来 /var 目录中有些内容是在 /usr 中的,但为了保持 /usr 目录的相对稳定,就把那些需要经常改变的目录放到 /var 中了。每个系统是特定的,即不通过网络与其他计算机共享。下面列出一些重要的目录 ( 一些不太重要的目录省略了 ) 。

  1. /var/catman : 包括了格式化过的帮助 (man) 页。帮助页的源文件一般存在 /usr/man/catman 中;有些 man 页可能有预格式化的版本,存在 /usr/man/cat 中。而其他的 man 页在第一次看时都需要格式化,格式化完的版本存在 /var/man 中,这样其他人再看相同的页时就无须等待格式化了。 (/var/catman 经常被清除,就像清除临时目录一样。 )
  2. /var/lib : 存放系统正常运行时要改变的文件。
  3. /var/local : 存放 /usr/local 中安装的程序的可变数据 ( 即系统管理员安装的程序 ) 。注意,如果必要,
    即使本地安装的程序也会使用其他 /var 目录,例如 /var/lock 。
  4. /var/lock : 锁定文件。许多程序遵循在 /var/lock 中产生一个锁定文件的约定,以用来支持他们正在使用某个特定的设备或文件。其他程序注意到这个锁定文件时,就不会再使用这个设备或文件。
  5. /var/log : 各种程序的日志 (log) 文件,尤其是 login (/var/log/wtmplog 纪录所有到系统的登录和注销 ) 和 syslog (/var/log/messages 纪录存储所有核心和系统程序信息 ) 。 /var/log 里的文件经常不确定地增长,应该定期清除。
  6. /var/run : 保存在下一次系统引导前有效的关于系统的信息文件。例如, /var/run/utmp 包含当前登录的用户的信息。
  7. /var/spool : 放置 “ 假脱机 (spool)” 程序的目录,如 mail 、 news 、打印队列和其他队列工作的目录。每个不同的 spool 在 /var/spool 下有自己的子目录,例如,用户的邮箱就存放在 /var/spool/mail 中。
  8. /var/tmp : 比 /tmp 允许更大的或需要存在较长时间的临时文件。注意系统管理员可能不允许 /var/tmp 有很旧的文件。

/etc 文件系统
/etc 目录包含各种系统配置文件,下面说明其中的一些。其他的你应该知道它们属于哪个程序,并阅读该程序的 man 页。许多网络配置文件也在 /etc 中。

  1. /etc/rc 或 /etc/rc.d 或 /etc/rc?.d : 启动、或改变运行级时运行的脚本或脚本的目录。
  2. /etc/passwd : 用户数据库,其中的域给出了用户名、真实姓名、用户起始目录、加密口令和用户的其他信息。
  3. /etc/fdprm : 软盘参数表,用以说明不同的软盘格式。可用 setfdprm 进行设置。更多的信息见 setfdprm 的帮助页。
  4. /etc/fstab : 指定启动时需要自动安装的文件系统列表。也包括用 swapon -a 启用的 swap 区的信息。
  5. /etc/group : 类似 /etc/passwd ,但说明的不是用户信息而是组的信息。包括组的各种数据。
  6. /etc/inittab : init 的配置文件。
  7. /etc/issue : 包括用户在登录提示符前的输出信息。通常包括系统的一段短说明或欢迎信息。具体内容由系统管理员确定。
  8. /etc/magic : “file” 的配置文件。包含不同文件格式的说明, “file” 基于它猜测文件类型。
  9. /etc/motd : motd 是 message of the day 的缩写,用户成功登录后自动输出。内容由系统管理员确定。常用于通告信息,如计划关机时间的警告等。
  10. /etc/mtab : 当前安装的文件系统列表。由脚本 (scritp) 初始化,并由 mount 命令自动更新。当需要一个当前安装的文件系统的列表时使用 ( 例如 df 命令 ) 。
  11. /etc/shadow : 在安装了影子 (shadow) 口令软件的系统上的影子口令文件。影子口令文件将 /etc/passwd 文件中的加密口令移动到 /etc/shadow 中,而后者只对超级用户 (root) 可读。这使破译口令更困难,以此增加系统的安全性。
  12. /etc/login.defs : login 命令的配置文件。
  13. /etc/printcap : 类似 /etc/termcap ,但针对打印机。语法不同。
  14. /etc/profile 、 /etc/csh.login 、 /etc/csh.cshrc : 登录或启动时 bourne 或 cshells 执行的文件。这允许系统管理员为所有用户建立全局缺省环境。
  15. /etc/securetty : 确认安全终端,即哪个终端允许超级用户 (root) 登录。一般只列出虚拟控制台,这样就不可能 ( 至少很困难 ) 通过调制解调器 (modem) 或网络闯入系统并得到超级用户特权。
  16. /etc/shells : 列出可以使用的 shell 。 chsh 命令允许用户在本文件指定范围内改变登录的 shell 。提供一
    台机器 ftp 服务的服务进程 ftpd 检查用户 shell 是否列在 /etc/shells 文件中,如果不是,将不允许该用户登录。
  17. /etc/termcap : 终端性能数据库。说明不同的终端用什么 “ 转义序列 ” 控制。写程序时不直接输出转义
    序列 ( 这样只能工作于特定品牌的终端 ) ,而是从 /etc/termcap 中查找要做的工作的正确序列。这样,多数的程序可以在多数终端上运行。

一)Ubuntu

1.0 更换源

编辑/etc/apt/sources.list
cp /etc/apt/sources.list /etc/apt/sources_default.list
vi /etc/apt/sources.list
//将cn.archive.ubuntu.com替换为阿里源mirrors.aliyun.com
替换完成后
sudo apt update 更新软件列表
sudo apt upgrade 更新软件
几个国内源
//阿里源 http://mirrors.aliyun.com
//中科大源 http://mirrors.ustc.edu.cn
//163源 http://mirrors.163.com
//清华源 http://mirrors.tuna.tsinghua.edu.cn
sudo vi sources.list 进入终端编辑页面
sudo gedit sources.list 打开文本,编辑源命令
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security universe deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security multiverse

2.0安装软件

sudo apt-get install 软件名称
在线直接安装的命令,如在ubuntu16.0.4下安装apahce2,sudo apt-get install apache2

3.0更新

3.1更新列表:sudo apt-get update

获得最近的软件包的列表:(列表中包含一些包的信息,比如这个包是否更新过) 这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。软件包管理器里看到的软件列表,都是通过update命令更新的。

3.2更新软件:sudo apt-get upgrade

会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。如果你的软件都是最新版本,会提示。

4.0解决安装依赖

sudo apt-get install -f
根据经验,通常情况下会报依赖关系的错误,我们可以使用以下的命令修复安装。针对deb文件。

5.0 deb安装文件

sudo dpkg -i deb的文件名 安装
sudo dpkg -l 查看已经安装的软件,并找到自己的安装的软件名
sudo dpkg -r 软件名 卸载软件
直接双击安装deb文件包,可能会出现安装不上的问题,这时候我们建议使用dpkg命令安装

6.0安装chrome浏览器

sudo wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 源文件下载

sudo dpkg -i google-chrome-stable_current_amd64.deb 安装
直接在终端中输入google-chrome即可运行,如提示密钥窗口,可按下列内容执行:终端中输入seahorse,密码-login-右键-解锁-输入密码,就不会再提示了,如果还不行,删除login重建

7.0分辨率设置

1、“xrandr”可查看当前显示系统有效输出的设备名称和所有有效分辨率
2、更改分辨率:xrandr -s 1280x1024

8.0电源控制

1、halt 立刻关机(一般加-p 关闭电源)
2、poweroff 立刻关机
3、shutdown -h now 立刻关机
4、shutdown -h 10 10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消关机
1、reboot
2、shutdown -r now 立刻重启
3、shutdown -r 10 过10分钟自动重启
4、shutdown -r 20:35 在时间为20:35时候重启
如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启

9.0 静态IP

1、设置ip地址
vi /etc/network/interface
auto lo
iface lo inet loopback

auto ens32
iface ens32 inet static
address 192.168.159.130
netmask 255.255.255.0
gateway 192.168.2.1
2、设置dns
vi /etc/resolvconf/resolv.conf.d/base
nameserver 8.8.8.8
nameserver 8.8.4.4
3、刷新配置文件
resolvconf -u
4、重启网络服务
/etc/init.d/networking restart

10.0开启远程服务

1.ubuntu默认没有安装ssh服务器
sudo apt-get install openssh-server
2.重启服务
sudo service ssh restart

二)Centos

2.0 防火墙

使用 #firewall-cmd --state 命令, 查看防火墙状态,如果是running状态,关闭防火墙。
#systemctl stop firewalld #关闭防火墙
#systemctl disable firewalld #禁止开机启动

3.0selinux(强制访问控制安全模块)

使用 #getenforce 命令, 查看Selinux状态
Enforcing为强制启用状态,可以使用 #setenforce 0 临时修改Selinux状态,但服务器重启后状态恢复。
可以通过修改配置文件方式永久关闭Selinux,修改selinux启动状态 #vi /etc/selinux/config ,修改SELINUX=disabled,修改完成后需要重启服务器。

4.0网络服务

ip addr 查看网络IP
/etc/sysconfig/network-scripts
vi ifcfg-ens33 将ONBOOT=yes
service network restart 或 systemctl restart network.service
systemctl status network
解决centos ifconfig无法使用问题
yum search ifconfig #查找ifconfig命令在哪个包里(net-toole.x86_64)
yum install net-tools.x86_64
ifconfig -a #查看所有网卡

动态IP

[root@localhost ~] ifconfig
[root@localhost ~] cd /etc/sysconfig/network-scripts
[root@localhost ~] vi ifcfg-ens33
修改内容如下:
TYPE=“Ethernet”
PROXY_METHOD=“none”
BROWSER_ONLY=“no”
BOOTPROTO=“dhcp”
DEFROUTE=“yes”
IPV4_FAILURE_FATAL=“no”
IPV6INIT=“yes”
IPV6_AUTOCONF=“yes”
IPV6_DEFROUTE=“yes”
IPV6_FAILURE_FATAL=“no”
IPV6_ADDR_GEN_MODE=“stable-privacy”
NAME=“enp2s0”
UUID=“9c133923-fe4c-4fae-a05f-2dd20fb186aa”
DEVICE=“enp2s0”
#将ONBOOT=no修改为ONBOOT=yes保存退出
ONBOOT=“yes”

静态IP

#查看网卡信息
[root@localhost ~] ifconfig
#修改网卡
[root@localhost ~] vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容如下:
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=“static” # 使用静态IP地址,默认为dhcp
IPADDR=192.168.5.218 # 设置的静态IP地址
NETMASK=255.255.248.0 # 子网掩码
GATEWAY=192.168.7.254 # 网关地址
DNS1=192.168.7.254 # DNS服务器
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp2s0
UUID=9c133923-fe4c-4fae-a05f-2dd20fb186aa
DEVICE=enp2s0
ONBOOT=yes

5.0NTFS格式U盘的源下载安装

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo 下载NTFS格式源
yum makecache 把服务器的包信息下载到本地电脑缓存起来,,以提高 搜索 安装软件的速度
yum install ntfs-3g 安装

6.0 挂载

disk -l #查看当前的磁盘分区信息(主要是分区表信息),查看机器所挂硬盘个数及分区情况
找到U盘挂载位置 例:/dev/sdb1
mkdir /mnt/usb_u #在挂载目录/mut下创建挂载点
mount /dev/sdb1 /mnt/usb_u #挂载U盘
cd /mnt/usb_u 进入U盘文件系统
cp ./music /home

卸载挂载点 umount /mnt/****

删除文件夹 rm -rf /***

删除文件 rm -f /***

7.0 lrzsz(配合xshell使用)

安装:yum -y install lrzsz
上传:rz 将电脑资源上传到Linux
下载:sz 将Linux资源下载到电脑

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小桃子的思念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值