1、在window系统下进行Linux命令学习,那么需要借助工具xshell,或者powerShell工具进行, 以下介绍xshell工具的配置
安装xshell工具 ->新建会话->在连接中填入主机以及自定义名称->在用户身份验证中填入用户名,linux系统常用是root用户名(密码建议是每次登陆的时候填写)-> 配置界面的可视化效果(配置底色,配置字的大小)
2、命令基本格式
[root@localhost ~]#
其中:root: 当前登录用户, localhost: 主机名, ~: 当前所在的目录(家目录), #:超级用户的提示符普通用户的提示符是$
命令格式:命令【选项】【参数】
注意:个别命令使用不遵循些格式,当有多个选项时,可以写在一起简化选项与完整选项 -a 等于 --all
3、linux系统命令
a、ls [选项] [文件或目录]
选项:-a 显示所有文件,包括隐藏文件,-l 显示祥细信息, -d 查看目录属性, -h 人性化显示文件大小, -i 显示inode,ll即表示 ls -l的缩写
对于文件的类型见下图:
drwxr-xr-x. 3 root root 4096 May 23 2017 abrt -rw-r--r--. 1 root root 16 May 23 2017 adjtime -rw-r--r--. 1 root root 1518 Jun 7 2013 aliases -rw-r--r--. 1 root root 12288 Aug 19 13:48 aliases.db drwxr-xr-x. 2 root root 4096 Aug 19 13:49 alternatives -rw-------. 1 root root 541 Jul 27 2015 anacrontab //里面的root表示所有者 第二个root表示所属组, 1表示引用技术,表示被引用的次数
注意:在linux系统里面.文件名,表示是隐藏文件
4、Linux系统文件处理命令
a、目录处理文件(linux系统下tab键的自动补全,如果存在多个,那么按两下,则会列出全部的目录)
mkdir -p [目录名] 表示创建新目录,-p表示可以多级创建,如果没有-p则不能进行多层级创建 如 mkdir -p a/b/c;
cd [目录] 表示切换目录 cd~:进行当前用户的家目录 cd-:进入上次目录 cd..:进行上级目录 cd.:进行当前目录 cd /: 表示跳转到根目录下
pwd 表示显示当前完整的路径名;
rmdir [目录名] 表示删除指定的目录,注意:这里只能删除空的文件夹
rm -rf [目录名] 表示可以删除空的文件夹,同时也可以删除非空的文件夹, 这里面的-r表示目录,-f表示强制的意思, 如果没有-f的情况下,每删除一个文件,都会进行一次访问。并且文件夹第一个不要用/符号
rm -rf test/ => 表示删除test这整个文件夹
rm -rf test/* => 表示删除test这个文件夹下的所有文件
touch [文件/目录] 表示更新文件或者目录的时间,如果不存在这个文件的情况,那么会新建这个文件
cp [选项] [原文件或目录] [目标目录] 表示复制 选项 -r复制目录,-p连带文件属性复制,-d若源文件是链接文件,则复制链接属性,-a 相当于 -pdr
cp -a test.html b/a.html 表示把当前的test.html文件复制到b文件夹下的并且命名为a.html
cp -a temp/* new/ //表示把temp下面的全部内容复制到new目录下面
mv [原文件或目录] [目标目录] 表示剪切或改名命令 当原文件与目标文件在同一目录下,那么就是改名命令,否则就是剪切命令
mv test new //表示把当前的test文件夹名字改成new mv test new/ //表示把当前的test文件夹放到new文件夹的目录下
5、linux中常见的目录介绍
linux中cd /即可跳转到根目录下,即最高一级目录
a、根目录下的bin和sbin, usr下的bin和sbin这四个目录是用来保存系统命令的,但是bin保存的是普通用户都可以使用的命令,而sbin保存的是超级用户可以使用的命令
b、boot 保存的是用户的启动数据, 一般不做操作
c、dev 特殊文件的保存目录, 都是硬件文件,一般不做操作
d、etc 保存的是系统的默认配置文件, 比较常操作
e、home 是普通用户的家目录
f、root 是超级用户的家目录
g、lib 是表示linux系统下的函数库目录
h、media, 表示挂载目录, mnt表示系统挂载目录
i、sys 与 proc目录不能直接操作,这两个目录保存的是内存过载点
j、tmp 临时目录, usr系统软件资源目录
k、var系统相关文档内容
注意: 通常在练习linux的时候,可以放在家目录,如root(超级用户)或home(普通用户)下进行练习,也可以放在tmp练习
6、链接命令
建立软链接 ln -s [原文件] [目标文件]
建立硬链接 ln [原文件] [目标文件]
硬链接的特征:
a、拥有相同的i节点和存储block块,可以看做是同一个文件
b、可通过i节点识别
c、不能跨分区
d、不能针对目录使用
软链接的特征:
a、类似window快捷方式
b、软链接拥有自己的I节点和Block块,但是数据块中只保存原文件的文件名和I节点号,并没有实际的文件数据
c、修改任意文件,另一个都改变
d、删除原文件,软链接不能使用
注意: 可以通过一下进行记忆,硬链接相当于复制,但是一方的改,也会导致另一方的改变,而软链接相当于快捷方式
7、linux中的文件搜索
a、文件搜索命令locate 与 文件搜索命令find 相比速度会更快 格式: locate 文件名 =》 在后台数据库中按文件名搜索,搜索速度更快,但是只能按照文件名进行查找
但是注意:如果新建一个文件,那么用locate去寻找的话,是找不到的,因为locate功能会在var/lib/mlocate中进行寻找,但是这个文件是一天更新一次,不是实时更新的,但是如果强制执行updatedb这个命令,那么会进行数据库的更新
touch test.html //新建文件 locate test.html //查找文件 updatedb //更新数据库
b、命令搜索命令 whereis 与which的使用
whereis 的格式: whereis 命令名 =》 搜索命令所在的路径及帮助文档所在的位置 选项: -b: 只查找可执行文件 -m:只查找帮助文件
whereis ls //列出ls命令的位置,以及帮助文档
扩展:whoami表示我是谁 whatis ls 表示ls是什么
which 的格式: which 命令名 =》与上面的功能差不多,但可以看到对应的别名
c、文件搜索命令find的使用
find的格式: find [搜索范围] [搜索条件]
find / -name test.html => 表示在整个根目录中搜索名称为test.html的文件, 在linux系统中find的时候常常是完全匹配的,如果有其他情况的,需要使用通配符
通配符有: * 匹配任意内容 ?匹配任意字符 []匹配任意一个中括号内的字符
find /root -name "test.html*" =》 表示在root目录下查找名字前面匹配test.html的文件名,后面的内容任意
find /root -name "test.htm?" find /root -name "ab[cd]"
find /root -iname "test.html" =》 不区分大小写,查找匹配test.html文件名的文件
find /root -user root => 按照所有者进行搜索
find /root -nouser => 查找没有所有者的文件
find . -size 25k => 表示查找当前目录下文件大小是25kb的文件 -25k 小于25kb的文件 +25k 大小25kb的文件
8、帮助命令
man [命令] 表示查看命令的用法
man ls //可以展示这条命令的帮助信息,如果想找 -d的配置,再输入 /-d即可跳转至定位
man -f 相当于 whatis 命令
[命令] --help 表示查看帮助
info [命令] 查看帮助
9、linux中压缩与解压缩
linux中常见的压缩格式有:.zip .gz .bz2 .tar.gz .tar.bz2
zip格式压缩
zip 压缩文件名 源文件 => 压缩文件
zip test.zip test.html
zip -r 压缩文件名 源目录 => 压缩目录
zip -r test.zip test //把test文件夹压缩成test.zip
unzip 压缩文件名
gz格式压缩
gzip 源文件 => 压缩成.gz格式的压缩文件,源文件会消失
gzip test.html
gzip -c 源文件 > 压缩文件 => 压缩为.gz格式,源文件保留
gzip -c test.html > add.html.gz //保留test.html并且复制一个test.html并且压缩命名为 add.html.gz
gzip -r 目录 => 压缩目录下的所有子文件,但是不能压缩目录
gzip test //把test文件夹下的所有文件进行gz压缩,但是目录不会被压缩
解压缩
gzip -d 压缩文件名 => 解压缩文件夹 gzip -d -r 文件夹
gunzip 压缩文件名 => 解压缩文件夹 gunzip -r 文件夹
bz2格式压缩
bzip2 源文件 => 压缩为.bz2格式,不保留源文件
bzip2 -k 源文件 => 压缩之后保留源文件
注意:bzip2命令不能压缩目录
解压缩
bzip2 -d 压缩文件 => -k保留压缩文件
bunzip2 压缩文件 => -k保留压缩文件
tar.gz压缩
tar -zcvf 目录/文件名.tar.gz 文件名... => 压缩
tar -zcvf ./test.tar.gz -c ./bag/test //表示把bag目录下的文件夹压缩到当前文件夹
tar -zxvf 压缩文件 =>解压缩
- -c 打包
- -v 显示过程
- -f 指定打包后的文件名
tar -zxvf test.tar.gz ./bag //表示把test.tar.gz解压缩到bag文件夹下
tar.bz2压缩
tar -jcvf 目录/文件名.tar.bz2 文件名... => 压缩
tar -jxvf 压缩文件 =>解压缩
- -c 打包
- -v 显示过程
- -f 指定打包后的文件名
9、关机重启
shutdown 关机命令
- -c 取消前一个关机命令
- -h 关机
- -r 重启
shutdown -r 06:00 //在6点时重启,但当前不能进行任何操作 shutdown -r 06:00 & //放在后台操作,当前可以进行操作 shutdown -c //取消在关机前的所有操作,如定时关机
10、其他命令
a、 w
查看登录用户信息
- USER 登录的用户名
- TTY 登录的终端 tty1 本地终端 pts/0远程终端
- FROM 登录的IP
- LOGIN 登录时间
- IDLE 用户闲置时间
- JCPU 该终端所有进程占用的时间
- PCPU 当前进程所占用的时间
- WHAT 正在执行的命令
b、 who
查看登录用户信息
- USER 登录的用户名
- TTY 登录的终端 tty1 本地终端 pts/0远程终端
- LOGIN 登录时间(登录的IP)
c、 last
查看当前登录和过去登录的用户信息 默认读取 /var/log/wtmp
文件
- 用户名
- 登录终端
- 登录IP
- 登录时间
- 退出时间(在线时间)
d、lastlog
查看所有用户的最后一次登录时间
- 用户名
- 登录终端
- 登录IP
- 最后一次登录时间
e、cat 文件名
显示文件内容
f、top =》 查看内存信息以及cpu
g、diff:比较文件内容 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
h、echo $SHELL 查看当前shell是什么版本