一.常用的shell有哪 些:bash,csh,ksh(面试题)
二.在公司中linux的作用:搭建测试环境,查看日志文件,一般用来做服务器(面试题)
1,常用的linux版本有:redhat(小红帽),centos,ubuntu(乌班图)
2,文件系统:ext3,ext4(最新的文件系统,ext4 支持日志文件而ext3不支持),raw机(祼机)
三.linux文件类型有哪 些?(面试题)
- 常规文件、d 目录文件、l 符号链接文件、b 块设备文件、c 字符设备文件、s Socket文件、p FIFO文件
四,~代表当前家目录,可通过pwd查看(重点)
#代表管理员用户
$代表普通用户
五,linux 启动目录: boot
创建指令
一.新建普通文件:(重点)
1.touch 文件名:新建一个空文件
2.创建带有内容的文件:
命令 >文件名:将指定命令执行后的内容放入指定的文件中去,若文件中有内容则覆盖原内容,若文件不存在,新建该文件
ll >a:将ll执行的结果放入a文件中
dmesg:显示开机信息的命令
echo "要显示的字符":将指定字符显示在屏幕上
重定向:改变其输出方向
命令 >>文件名:将指定命令执行后的内容放入指定的文件中去,若文件中有内容则在原文件内容的后面追加新的内容,若文件不存在,新建该文件
错误命令 2>文件名:将错误信息放在指定的文件中,若文件中有内容则覆盖原内容,若文件不存在,新建该文件
错误命令 2>> 文件名:将错误信息追加到指定文件的后面。若文件中有内容则在原内容后追加内容,若文件不存在,新建该文件
二.新建文件夹(目录):
1.mkdir 文件夹名:新建一个普通文件夹
2.mkdir -p 文件夹1/文件夹2....新建多级文件夹(-p另一个作用,文件夹同名时,不给予错误提示,并将不同的内容合并起来)
三.增加用户
1,useradd 用户名:延用原家目录新建用户
2,useradd -d /家目录名 用户名:自己新建家目录,服务器仅显示家目录,不显示用户名,家目录名和用户名可以同名也可以不同
cat /etc/passwd:查看所用用户(从500开始)
四.给用户加密
passwd 用户名
cat /etc/shadow:查看用户是否加密
删除指令
一,文件或目录的删除
1.删除空目录 rmdir 目录名 (了解)
2.删除非空目录 rm -r 目录名 :默认删除时有提示,如果加f删除时不给予提示
3.删除文件:rm 文件名(删除时,可用通配符*代表0到多个字符,?代表一个字符)
二,删除用户
userdel -rf 用户名(删除用户,若用户有自建目录,则它会删除用户的同时连家目录一起删除)
改 指令
一.改变文件或目录权限:
所有者用u来表示
所属组用g来表示
其它人用o来表示
所有人用a来表示
1.改变文件权限:chmod 用户+/-/=权限 文件名:改变文件权限
例:chmod u+x,g+w,o+x d1 :
给所有者增加或减少执行权限,给所属组增加写的权限,给其它人增加执行的权限
权限可以增加或减少或直接赋予某个权限
例:chmod a=rwx d1 :所有人的权限都赋予读写执行
读用4来表示
写用2来表示
执行用1来表示
没有权限写0
例:chmod 631 d1 :给文件d1的所有者赋予读写的权限,所属组赋予写执行的权限,其它人赋予执行的权限
2.改变目录权限:
chmod 用户+/-/=权限 文件名:改变目录权限 -R(改变目录及其子目录的权限)
chmod 777 dir1 -R :将dir1及该目录下的所有文件权限改为读写执行
3.改变文件属主/属组(了解)
chown 用户名 文件名 :改变指定文件的属主
例:chown scott d1
chown :用户名 文件名:改变指定文件的属组
例:chown :scott d1
chown 用户名:用户名 文件名:改变指定文件的属主和属组
例:chown scott:scott d2
4,改变主机名
hostname 新的主机名
查 指令
一.查看磁盘的使用情况:(重点)
df -h:查看文件系统中磁盘的使用情况
fdisk -l:查看磁盘的详细信息
二.查看历史命令:
1.history 查看所有使用过的命令
history n:查看最近使用过的n条命令
history -c:清除所有使用过的命令
2.上下箭头
3.ctrl+r:在使用过的命令中进行搜索
三:查看文件:(重点)
ls:显示当前路径下的所有文件及文件夹
ls -a:显示当前路径下的所有文件及文件夹(包含隐藏文件)
ls -l等价于ll:显示当前路径下所有文件的详细信息
ls -lh:人性化显示当前路径下所有文件的详细信息
ls -alh:人性化显示当前路径下所有文件的详细信息(包含隐藏文件)
-rw------- 1 root root 885 Jun 17 10:04 anaconda-ks.cfg
第一位代表文件类型
第二位到第四位代表文件所有者的权限
第五位到第七位代表所属组的权限
第八到第十位代表其它的人权限
1:代表文件下面级联的文件夹数
第一个root代表文件的所有者
第二个root代表文件所属组
885代表文件的大小
Jun 17 10:04代表文件创建的日期和时间
四:查看文件内容
1.cat 文件名:正向显示文件内容
2.tac 文件名:反向显示文件内容
3.more 文件名:分页显示文件内容(按回车一行行向,按空格一页页向下,按字母b向上翻页,按字母f向下翻页)
4.less 文件名:同more
5.head 文件名:默认显示头十行
head -n x行数 文件名:显示指定的前x行
6.tail 文件名:默认显示最新十行
tail -n x行数 文件名:显示最新x行
tail -f 文件名:永远显示最新十行
tail -f -n x行数 文件名:永远显示最新指定的行 (退出ctrl+c)
7.sed -n 'xp' 文件名:显示文件的第x行
sed -n 'x,yp' 文件名:显示文件的第x行到第y行
sed -n -e 'xp' -e 'yp' -e 'zp' 文件名:连续显示文件的第x,第y,第z行
sed -n '/2019-06-19 10:00/,/2019-06-19 11:00/p' 文件名:显示指定时间段文件内容(面试题)
8.grep '关键字' 文件名:显示包含关键字的内容
grep '^关键字' 文件名:显示以关键字开头的内容
grep '关键字$' 文件名:显示以关键字结尾的内容
grep '关键字$' 文件名 -n --color:将关键字高亮显示并显示关键字所在行的行号
grep '关键字' 文件名 -c:统计关键字在文件中出现的次数
9.vi
vi编辑器的三种模式:编辑模式,命令模式,底行模式
进入vi为命令模式,按字母i切换到编辑模式,按esc键退出编辑回到命令模式
在命令模式按‘:’转换至底行模式
命令模式常用的命令:
yy 复制光标所在行
xyy 复制光标向下的x行
p:粘贴一次
xp:粘贴x次
dd:删除光标所在行
xdd:删除光标向下的x行
u:撤销上一步的操作
ctrl+r:恢复上一次的操作
gg:回到首行
ngg:回到指定行的行首
G:回到最后一行
nG=ngg
$:回到本行行尾
^:回到本行行首
a:在光标下一个字符前插入内容
A:在光标所在行的最后插入内容
o:在光标所在行的下面插入一行
O:在光标所在行的上面插入一行
x:删除光标前面的字符
X: 删除光标后面的字符
r:替换光标所在处字符
R:一直处于替换状态,直到按esc退出替换
底行模式常用的命令:
wq或者x 保存
q!不保存退出
set nu:显示行号
set nonu:不显示行号
在底行直输入行号回车:会自动跳至指定的行等同于ngg或nG
/关键字或者?关键字:在文件中搜索指定的关键字(面试题)
按n向上搜索,按N向下搜索
五:统计文件行数,单词数,字符数
wc -l 文件名:显示文件的总行数
wc -c 文件名:显示总字符数
wc -w 文件名:显示文件内容的单词数
du -h 文件名:显示文件占用磁盘空间大小(面试题)
du -h :显示所有文件占用磁盘空间大小(包含隐藏文件)
file 文件名:显示文件类型(了解)
diff 文件1 文件2:列出两文件的不同之处(了解)
六:显示后台任务列表
jobs 查看后台任务列表(面试题)
sleep 2000:让电脑进入睡眠,时间为2000秒(单位为秒)
sleep 2000 &:让任务转入后台运行
ctrl+z:将任务放入后台
ctrl+c:结束任务
fg 任务列表序号:将任务调至前台运行
bg 任务列表序号:让任务在后台运行
七:显示系统日期(了解)
cal 显示当前日期
cal 2018:显示2018年日期
date:显示当前的系统日期
date 月日时分年:修改系统日期
例子:date 062014012019
hwclock:显示硬件时钟(即电脑BIOS的时间)basic input /output system
hwclock -w:将硬件时钟同步到系统时间
hwclock -s:将系统时间同步到硬件时间
八.文件的查找
1.find -name '文件名':查找当前路径下及该路径下所有目录中的同名文件(重点)
find 文件名:仅查找当前路径下的该文件
*代表0到多个字符
?代表一个字符
例:find -name '*a*':查找从当前路径下出发,所有目录中包含字符a的文件
2.whereis 文件名:(一般用来查找二进制文件)(了解)
九.查看内存,cpu
free 显示内存详细使用情况(面试题)
cat /proc/meminfo 同free
cat /proc/cpuinfo 显示cpu的详细信息(面试题)
vmstat n秒:每n秒显示1次虚拟内存的使用情况,永远显示下去,直到ctrl+c结束显示(了解)
vmstat:仅显示一次虚拟内存的使用情况
vmstat n秒 x总次数:每n秒显示1次总共显示x次
十.查看进程
ps -ef 或ps -aux 显示所有进程编号
ps -ef | grep 进程编号或程序名称:查找指定程序的进程编号(面试题)
kill -9 进程编号:结束指定的进程编号(面试题)
netstat -anp:显示所有端口号
netstat -anp | grep 端口号:查看指定的端口号有没有被占用(面试题)
十一:查看系统信息
uptime 显示系统运行时间及系统负载
w
top :动态显示部分进程(重点)第一行同uptime
按h获取帮助信息,按d可以改变延迟时间,按字母b改变显示信息颜色
top -b:动态显示部分进程,不提供互动式界面
uname -a :显示系统全部信息
hostname 显示主机名
hostname 新的主机名:改变主机名
who are you:显示当前登陆的用户及登陆时间
who:所有登陆过系统的用户及每个用户登陆的虚拟终端,登陆时间
w:显示登陆服务器的时间,总运行时间,系统最后1,5,15分钟的平均负载及每个用户登陆的详细信息
who -r:显示运行级别
chkconfig --list:显示所有服务(了解)
chkconfig --del 服务名称:删除指定服务(了解)
chkconfig --add 服务名称:增加服务(了解)
chkconfig 服务名称 off/on:开启或者关闭服务(了解)
man 命令:显示命令的详细使用方法(按q退出)
切换指令
一,通过命令来改变shell模式:(只有root才有权限切换)(了解)
ctrl+alt+f5:切换到命令模式(cli)
init 3:切换运行级别为3级(cli)
ctrl+alt+f7:切换到图形界面(gui)
init 5:切换运行级别为5级(gui)
who -r:查看运行级别
二,切换目录:
cd 目录名:切换目录到指定目录
cd ~或cd 回车:回到家目录
cd -:回到上次进入的目录
cd ..:回到上一级目录
cd /:回到根目录
三,切换用户:
su 用户名:切换到指定用户(从管理员到任何用户之间的切换都不需要输入密码,普通用户之间切换需要输入密码),此命令仅能切换用户,不能切换目录,
若要到指定用户的家目录,必须通过cd ~或cd回车来实现
su -:直接切换到管理员的家目录
ps:从当前用户转换到上一次进入的用户可通过exit直接退出
其他指令
一.ip地址的设置(重点)
ifconfig 查看ip地址
ifconfig eth0 up/down 开启或关闭网卡
ifconfig eth0 ip地址:仅临时改变,不能在网络上使用
改变网络地址的方法:
1.在右下角点击两个小电脑,选择设置-桥接模式为静态ip,nat模式为动态ip地址
2.在命令行输入setup-network configration (按三次回车)
如果选中dhcp为动态ip,static ip为静态ip, 输入新ip地址即可
3.设置完后,保存退出, 在命令行输入service network restart即可
二.清屏命令:
clear
ctrl+l
printf "\033c" 彻底清屏
三.文件的拷贝:
cp [路径]/要拷贝的文件 目的路径/[新文件名]
同一路径下的拷贝必须重命名
四.文件夹的拷贝:
cp -rf [路径]/要拷贝的目录 目的路径/[目录名]
五.文件或目录的移动
mv [路径]/要移动的文件 目的路径/[新文件名]
注:同一路径下的移动等于重命名
六:文件的压缩(重点)
1.zip 包名.zip 要压缩的文件1 文件2 文件3....(只能是文件,不能是目录,若是目录,会丢包),可对多个文件一起压缩,文件之间用空格隔开
zip bao2.zip aa abc abc1 以zip格式压缩文件aa,abc,abc1,压缩包为bao2.zip
解压格式 :unzip 包名.zip
2.
gzip -v *:以默认级别压缩所有普通文件并显示压缩过程
-v(显示压缩过程)
gzip -dv *:解压所有以.gz结尾的文件并显示解包过程
-d:解包
gzip -压缩级别(1-9级,1为fast,9为best,为1时,压缩率低,但压缩速度快,为9时,压缩率高,但压缩速度慢,默认级别为6级) 要压缩的文件
(可接多个文件,每个文件名即为其压缩包名)压缩后,原文件被压缩文件替换掉
解包格式:gzip -d 包名.gz
3.打包 tar -cvf 包名.tar 要打包的文件(什么类型都可以)它仅打包不压缩(了解)
-c代表打包
-v 代表显示打包过程
-f 位置固定,后面必须接包名
例:tar -cvf bao.tar aa dir1 test.gz :将aa dir1,test.gz三个文件放入bao.tar包中
-t 查看包中内容
例:tar -tvf bao.tar :查看包bao.tar的文件中的详细内容
-r 向包中追加内容
例:tar -rvf bao.tar install.log 向包bao.tar中追加文件install.log
-x 解扩展名为.tar的包
例:tar -xvf bao.tar 解扩展名为.tar的包
-C(大写C) 改变解包路径
tar -xvf bao.tar -C Desktop/ :将bao.tar中的内容解压到桌面
4.打包压缩包的命令:(重点)
tar -zcvf 包名.tar.gz 打包压缩包的文件(什么类型都可以)打包的同时并以gzip格式进行压缩
等价于tar -zcvf 包名.tgz 打包压缩包的文件
tar -zxvf 包名.tar.gz 解包以.tar.gz结尾的压缩包
tar -jcvf 包名.tar.bz2 打包压缩包的文件 打包的同时并以bzip格式压缩文件
tar -jxvf 包名.tar.bz2 解包以.tar.bz2=结尾的压缩包
七.linux定时开关机(面试题)
shutdown -t 秒数 -h 分钟:规定linux在多少分钟后关机,并提前多少秒给予提示(时间为0时会立刻关机)
shutdown -t 秒数 -r 分钟规定linux在多少分钟后重启
八:文件的挂载(了解)
mount:查看文件系统及其挂载情况
mount /dev/sda1 /mnt:将根目录下的mnt目录挂载在/dev/sda1 分区下
umount 路径/目录:将指定目录卸载
九:远程连接计算机
crt 或者xshell 或者ssh ip地址