系列文章目录
Linux系统管理(一)——Linux虚拟机在VMware上的安装
Linux系统管理(二)——VMware使用文件共享功能
一、认识shell
Shell是一个命令语言解释器。登陆Linux后,所有的命令都被shell解释,它支持函数、变量、数组、程序设计结构等。分为Bourne Shell和 C Shell,红帽默认Bash,是B Shell的扩展,完全兼容。
1.启动
启动字符界面,又叫虚拟终端,红帽6提供6个虚拟终端,在虚拟终端和图形界面之间切换
Ctrl+Alt+F3
Ctrl+Alt+F1
普通用户用$为提示符,超级用户用#做为提示符,@之前的为登陆用户名字。
普通用户切换超级用户命令:
sudo su
2.关闭或重启
shutdown –h now
reboot
3.Shell的命令格式
命令 [选项] [参数]
选项表示命令的限定参数或者功能参数
参数表示执行命令所必须的对象
多条shell命令用“;”分割,行末加上”\”表示另起一行继续输入
4.Bash的应用
命令补齐:输入命令的开头字母后,Tab自动匹配。
两个Tab列出所有符合的命令
命令历史记录:向上箭头或者history n后!n使用。
通配符:
* :匹配任意数目的字符;
? :匹配单个字符;
[…] :匹配括号中的字符或者范围,
- :范围
! :表示不在指定字符内。
例子
is [amf]??
匹配a,m,f开头的共三个字符的文件
ls [a-c]* 表示abc开头的文件
ls [!abf]* 表示不是abf开头的文件
二、基本shell命令
•文件处理命令:ls、cd、pwd、touch、mkdir、cp、mv,rm、cat、more、ln
•文件搜索命令:find、locate、whereis、grep
•帮助命令:man,info
•压缩解压命令:tar
•移动设备的挂载:
1.文件处理命令
•ls:
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
•cd
语法:cd [目录]
功能描述:切换目录
范例: #cd / 切换到根目录
# cd .. 回到上一级目录
目录介绍:.和..表示当前目录和上一级目录。
•pwd
语法:pwd
功能描述:显示当前所在地工作目录
•touch
语法:touch [文件名]
功能描述:创建空文件
如: # touch newfile
•mkdir
语法:mkdir [目录名]
功能描述:创建新目录
如 # mkdir newdir
•cp
语法:cp -参数[R] [源文件或目录] [目的目录]
-R 复制目录
功能描述:复制文件或目录
•mv
语法:mv [源文件或目录] [目的目录]
功能描述:移动文件、更名
•rm
语法:rm [-r] [文件或目录]
-r删除目录
功能描述:删除文件
•cat
语法:cat[文件名]
功能描述:显示文件内容
•more
语法:more [文件名]
(空格)或f 显示下一页
(Enter) 显示下一行
q或Q 退出
功能描述:分页显示文件文件内容
2.文件搜索命令
•find
语法:find [搜索路径] [搜索关键字]
功能描述:查找文件或目录
参 数说明:
时间查找参数:
-atime n :将n*24小时内存取过的的文件列出来
-ctime n :将n*24小时内改变、新增的文件或者目录列出来
-mtime n :将n*24小时内修改过的文件或者目录列出来
-newer file :把比file还要新的文件列出来
名称查找参数:
-gid n :寻找群组ID为n的文件
-group name :寻找群组名称为name的文件
-uid n :寻找拥有者ID为n的文件
-user name :寻找用户者名称为name的文件
-name file :寻找文件名为file的文件(可以使用通配符)
•grep
语法:grep[指定字串] [源文件]
功能描述:在文件中搜索字串匹配的行并输出
如: grep ftp /etc/*
•wc
功能描述:计算文件的Byte数、字数、或是列数;
若不指定文件名称、或是所给予的文件名为"-",则wc指令会从标准输入设备读取数据
语法
wc [-clw][--help][--version][文件...]
参数:
-c或--bytes或--chars 只显示Bytes数。
-l或--lines 显示行数。
-w或--words 只显示字数。
--help 在线帮助。
--version 显示版本信息。
3.帮助命令
•man
语法:man[命令或配置文件]
功能描述:获得帮助信息
•1 - commands
•2 - system calls
•3 - library calls
•4 - special files
•5 - file formats and convertions
•6 - games for linux
•7 - macro packages and conventions
•8 - system management commands
•9 - 其他
其中:
•1是普通的命令
•2是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
•3是库函数,如printf,fread
4.压缩解压命令
•tar
语法:tar [cvf] [目录]
-c 产生.tar打包文件
-x 从文档中抽取文件
-v 显示详细信息
-f 指定解压后的文件名
-z 压缩/解压gz格式tar文件
-j 压缩/解压bz2格式tar文件
功能描述:打包目录
5.移动设备的挂载
•fdisk –l 接好移动设备后,再次运行fdisk –l,看显示多出来的硬盘及分区。
如:多出/dev/sdb1分区,可以执行如下命令完成挂载。
•mkdir /mnt/usb
•mount /dev/sdb1 /mnt/usb
三、示例
1.在/home目录下建立目录mydir
在home目录下打开控制台,输入命令:
mkdir mydir
2.在/home目录下创建文件myfile1、myfile2
touch myfile1 myfile2
3.将myfile1移动到mydir,将myfile2复制到mydir,删除/home下的myfile2
mv myfile1 mydir
cp myfile2 mydir
rm myfile2
4.在/etc目录下搜索文件内容中包含ftp的文件,任选3个拷贝到mydir
搜索
grep ftp /etc/*
复制(这里我们选择前三个)
cp /etc/services mydir
cp /etc/mailcap mydir
cp /etc/wgetrc mydir
5.在/etc下搜索bash开头的文件,拷贝两个到mydir
find /etc -name bash*
cp /etc/profile.d/bash_completion.sh mydir
cp /etc/apparmor.d/abstractions/bash mydir
6.将mydir打包为*.tar.gz文件,复制该文件到/root下,删除/home目录下的mydir
tar zcvf mydir.tar.gz mydir
sudo cp mydir.tar.gz /root
rm mydir.tar.gz
7.进入/root,解压刚才复制过来的*.tar.gz
sudo su
cd /root
tar zxvf mydir.tar.gz
8.插入U盘,挂载U盘到/mnt/usb,将刚才解压出的/root下的目录移动到U盘
此时插入的U盘是连接到虚拟机的
fdisk –l
mkdir /mnt/usb
mount /dev/sdb1 /mnt/usb
mv –r mydir/ /mnt/usb
如果mv –r mydir/ /mnt/usb
运行出问题可以换用mv mydir/* /mnt/usb
实现移动