Linux基础学习
Linux基础学习
搭建学习环境
方法多种不一一列举,感兴趣的自己可以找来详细教程玩
1.下载VMware,Virtual Box...虚拟计算机软件,下载你喜欢的Linux发行版镜像,然后配置虚拟机,通过虚拟机来学习
2.给你的装个双系统,有空就折腾折腾自己吧
3.租个学生服务器也是不错的
4.要是懒到家了就下个win10自带的ubuntu来玩玩了解了解先
Linux命令的基本使用
先打开终端,输入rm -rf(别,千万别这样!)
好了,啥是终端?我连终端都不知道,你让我输个鬼?
1.终端Terminal(机器的边缘)
终端就是处理计算机主机输入输出的一套设备,它用来显示主机运算的输出,并且接受主机要求的输入,典型的终端包括显示器键盘套件,打印机打字机套件等。
注:显然系统中我们打开的terminal其实只是虚拟化的终端。(不是很确定该怎么说)
1.1 终端的分类(前两类又称之为“物理终端”,后面的那个称之为“伪终端”)
-
本地终端
用VGA连接主机和显示器,用PS/2或者USB连接主机和键盘,这样的一个显示器/键盘组合就是一个本地终端。 -
用串口连接的远程终端
通过串口线把主机接到另外一个有显示器和键盘的主机,通过运行一个终端模拟程序,比如“Windows超级终端”来将这台主机的显示器和键盘借给串口对端的主机。 -
用TCP/IP承载的远程终端 (选用云服务器的小伙伴就是这种)
类似Telnet,SSH这般。注:伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
1.2有关终端的命令
- 查看当前终端
tty
- 切换终端 ctrl+alt+(F1~F7)
2.命令(二进制可执行文件)
2.1命令分类
-
外部命令(独自运行的独立程序)
ls、cat等
echo $PATH(查找外部命令)
-
内部命令(shell在自己的进程内运行该命令)
exit、history、cd、source、fg、echo等
man cd 查看所有shell内建命令 type 查看命令类型
2.2常用命令
1)文件、目录操作命令
1、ls命令:显示文件和目录的信息
- ls 以默认方式显示当前目录文件列表
- ls -a 显示所有文件包括隐藏文件
- ls -l 显示文件属性,包括大小,日期,符号连接,是否可读写及是否可执行
- ls -lh 显示文件的大小,以容易理解的格式印出文件大小 (例如 1K 234M2G)
- ls -lt 显示文件,按照修改时间排序
2、cd命令:改名目录
- cd dir 切换到当前目录下的dir目录
- cd / 切换到根目录
- cd .. 切换到到上一级目录
- cd ../.. 切换到上二级目录
- cd ~ 切换到用户目录,比如是root用户,则切换到/root下
注:根目录与家目录的区别:
根目录是系统的一级文件结构,家目录只是非root用户控制目录。相当于windows我的文档,非root用户只能完会控制家目录的文件,不能控制根目录下其它的文件。根目录是设备的最顶层目录,用 / 表示
家目录是每个用户登录系统后所在的目录,通常在 /home 下,以用户名作为目录,可以用 ~ 表示。
cd / 进入根目录
cd ~/ 进入家目录
当然,也可以用 /home/someone 进入someone的家目录
3、cp命令:复制文件
- cp source target 将文件source复制为target
- cp /root /source . 将/root下的文件source复制到当前目录
- eg:cp /home/open_038_dev/external_files/test/test.sh .
- cp –av soure_dir target_dir 将整个目录复制,两目录完全一样
4、rm命令:删除文件或目录
- rm file 删除某一个文件
- rm -f file 删除时候不进行提示。可以于r参数配合使用
- rm -rf dir 删除当前目录下叫dir的整个目录
5、mv命令:将文件移动走,或者改名,在uinx下面没有改名的命令,如果想改名,可以使用该命令
-
mv source target 将文件source更名为target ,命令参数如下:
-b :若需覆盖文件,则覆盖前先行备份。
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会更新(update)
-t:--target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
6、diff命令:比较文件内容
-
diff dir1 dir2 比较目录1与目录2的文件列表是否相同,但不比较文件的实际内容,不同则列出
-
diff file1 file2 比较文件1与文件2的内容是否相同,如果是文本格式的文件,则将不相同的内容显示,如果是二进制代码则只表示两个文件是不同的
-
comm file1 file2 比较文件,显示两个文件不相同的内容
7、ln命令:建立链接。windows的快捷方式就是根据链接的原理来做的
-
ln source_path target_path 硬连接
-
ln -s source_path target_path 软连接
-
ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件。
注:当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln –s /bin/less /usr/local/bin/less
2)查看文件内容命令
1、cat命令:显示文件的内容,和DOS的type相同
cat file
2、more命令:分页显示命令
- more file
注:more命令也可以通过管道符(|)与其他的命令一起使用,例如:
ps ux|more
ls|more
3、tail 命令:显示文件的最后几行
- tail -n 100 aaa.txt 显示文件aaa.txt文件的最后100行
4、vi命令
- vi file 编辑文件file
5、touch命令:创建一个空文件
- touch aaa.txt 创建一个空文件,文件名为aaa.txt
3)基本系统命令
1、man命令:查看某个命令的帮助,如果你不知道某个命令的用法不懂,可以问他,他知道就回告诉你
2、w命令:显示登录用户的详细信息
3、who命令:显示登录用户
4、last命令:查看最近那些用户登录系统
5、date命令:系统日期设定
- date 显示当前日期时间
- date -s 20:30:30 设置系统时间为20:30:30
- date -s 2002-3-5 设置系统时期为2003-3-5
- date -s "060520 06:00:00" 设置系统时期为2006年5月20日6点整。
6、clock命令:时钟设置
-
clock –r 对系统Bios中读取时间参数
-
clock –w 将系统时间(如由date设置的时间)写入Bios
7、uname命令:查看系统版本
- uname -R 显示操作系统内核的version
8、关闭和重新启动系统命令
-
reboot 重新启动计算机
-
shutdown -r now 重新启动计算机,停止服务后重新启动计算机
-
shutdown -h now 关闭计算机,停止服务后再关闭系统
-
halt 关闭计算机
注:一般用shutdown -r now,在重启系统是,关闭相关服务,shutdown -h now也是如此。
9、su命令:切换用户
-
su - 切换到root用户
-
su - zhoulj 切换到zhoulj用户,
注意:‘-’ 很关键,使用-,将使用用户的环境变量
四、监视系统状态命令
1、top命令:查看系统cpu、内存等使用情况
2、free命令:查看内存和swap分区使用情况
3、uptime:现在的时间 ,系统开机运转到现在经过的时间,连线的使用者数量,最近一分钟,五分钟和十五分钟的系统负载
4、vmstat命令:监视虚拟内存使用情况
5、ps命令:显示进程信息
-
ps ux 显示当前用户的进程
-
ps uxwww 显示当前用户的进程的详细信息
-
ps aux 显示所有用户的进程
-
ps ef 显示系统所有进程信息
6、kill命令:干掉某个进程,进程号可以通过ps命令得到
-
kill -9 1001 将进程编号为1001的程序干掉
-
kill all -9 apache 将所有名字为apapche的程序杀死,kill不是万能的,对僵死的程序则无效。
五、磁盘操作命令
1、df命令:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。参数功能
-
-a 列出全部目录
-
-Ta 列出全部目录,并且显示文件类型
-
-B 显示块信息
-
-i 以i节点列出全部目录
-
-h 按照日常习惯显示(如:1K、100M、20G)
-
-x [filesystype] 不显示[filesystype]
2、du命令:检测一个目录和(递归地)所有它的子目录中的文件占用的磁盘空间。参数功能:
-
-s [dirName] 显示目录占用总空间
-
-sk [dirName] 显示目录占用总空间,以k为单位
-
-sb [dirName] 显示目录占用总空间,以b为单位
-
-sm [dirName] 显示目录占用总空间,以m为单位
-
-sc [dirName] 显示目录占用总空间,加上目录统计
-
-sh [dirName] 只统计目录大小
3、mount命令:使用mount命令就可在Linux中挂载各种文件系统。
格式:mount -t 设备名 挂载点
-
mount /dev/sda1 /mnt/filetest
-
mount -t vfat /dev/hda /mnt/fatfile
-
mount -t ntfs /dev/hda /mnt/ntfsfile
-
mount -t iso9660 /dev/cdrom /mnt/cdrom
-
mount -o 设备名 挂载点
注:使用usb设备时
modprobe usb-storage
mkdir /mnt/usb
mount -t auto /dev/sdx1 /mnt/usb
umount/mnt/usb
4、mkswap命令:使用mkswap命令可以创建swap空间,如:
-
debian:~# mkswap -c /dev/hda4
-
debian:~# swapon /dev/hda4 #启用新创建的swap空间,停用可使用swapoff命令
5、fdisk命令:对磁盘进行分区
-
fdisk /dev/xxx 格式化xxx设备(xxx是指磁盘驱动器的名字,例如hdb,sdc)
-
fdisk -l 显示磁盘的分区表
6、mkfs命令:格式化文件系统,可以指定文件系统的类型,如ext2、ext3、fat、ntfs等
-
格式1:mkfs.ext3 options /dev/xxx
-
格式2:mkfs -t ext2 options /dev/xxx
参数功能
-
-b 块大小
-
-i 节点大写
-
-m 预留管理空间大小
7、e2fsck命令:磁盘检测
-
e2fsck /dev/hda1 检查/dev/hda1是否有文件系统错误,提示修复方式
-
e2fsck -p /dev/hda1 检查/dev/hda1是否有错误,如果有则自动修复
-
e2fsck -y /dev/hda1 检查错误,所有提问均于yes方式执行
-
e2fsck -c /dev/hda1 检查磁盘是否有坏区
8、tune2fs命令:调整ext2/ext3文件的参数,参数功能
-
-l 查看文件系统信息
-
-c 设置强制自检的挂载次数
-
-i 设置强制自检的间隔时间,单位天
-
-m 保留块的百分比
-
-j 将ext2文件系统转换成ext3格式
9、dd命令:功能:把指定的输入文件拷贝到指定的输出文件中,并且在拷贝过程中可以进行格式转换。跟DOS下的diskcopy命令的作用类似。
-
dd if=/dev/fd0 of=floppy.img 将软盘的内容复制成一个镜像
-
dd if=floppy.img of=/dev/fd0 将一个镜像的内容复制到软盘,做驱动盘的时候经常用。
6)用户和组相关命令
1、groupadd命令:添加组
-
groupadd test1 添加test1组
-
groupadd -g 1111 test2 添加test2组,组id为1111
2、useradd命令:添加用户
-
useradd user1 添加用户user1,home为/home/user1,组为user1
-
useradd -g test1 -m -d /home/test1 test1 添加用户test1,home为/home/test1,组为test1
-
user list 显示已登陆的用户列表
3、passwd命令:更改用户密码
-
passwd user1 修改用户user1的密码
-
passwd -d root 将root用户的密码删除
4、userdel命令:删除用户
- userdel user1 删除user1用户
5、chown命令:改变文件或目录的所有者
-
chown user1 /dir 将/dir目录设置为user1所有
-
chown -R user1.user1 /dir 将/dir目录下所有文件和目录,设置为user1所有,组为user1。-R递归到下面的每个文件和目录
6、chgrp命令:改变文件或目录的所有组
- chgrp user1 /dir 将/dir目录设置为user1所有
7、chmod命令:改变用户的权限
-
chmod a+x file 将file文件设置为可执行,脚本类文件一定要这样设置一个,否则得用bash file才能执行
-
chmod 666 file 将文件file设置为可读写
-
chmod 750 file 将文件file设置为,所有者为完全权限,同组可以读和执行,其他无权限
8、id命令:显示用户的信息,包括uid、gid等
9、finger命令:显示用的信息
七、压缩命令
1、gzip格式命令:压缩文件,gz格式的
注意:生成的文件会把源文件覆盖
2、zip格式命令:压缩和解压缩zip命令
- zip
- unzip
3、bzip2根式命令:bzip2格式压缩命令,
-
bzip2
-
bunzip2
4、tar命令:归档、压缩等,比较重要,会经常使用。
- -c :建立一个压缩文件的参数指令(create 的意思);
- -x :解开一个压缩文件的参数指令!
- -t :查看 tarfile 里面的文件!
- -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
- -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
- -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
- -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
8)网络相关命令
1、ifconfig命令:显示修改网卡的信息
-
ifconfig 显示网络信息
-
ifconfig eth0 显示eth0网络信息
修改网络信息:
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 设置网卡1的地址192.168.1.1,掩码为255.255.255.0
ifconfig eth0:1 192.168.1.2 捆绑网卡1的第二个地址为192.168.1.2
ifconfig eth0:x 192.168.1.n 捆绑网卡1的第n个地址为192.168.1.n
2、route命令:显示当前路由设置情况
route 显示当前路由设置情况,比较慢一般不用。
route add -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route del -net 10.0.0.0 netmask 255.255.0.0 gw 192.168.1.254 添加静态路由
route add default gw 192.168.1.1 metric1 设置192.168.1.1为默认的路由
route del default 将默认的路由删除
3、netstat命令:显示网络状态
-
netstat -an 查看网络端口信息
-
netstat -nr 查看路由表信息,比route快多了,
4、启动网络的命令
-
redhat族的命令: /etc/init.d/network
-
debian命令: /etc/init.d/networking
5、网络排错
(1)ping命令
功能:不说了,不知道就不用干这行了。
(2)traceroute命令:路由跟踪
(3)nslookup命令:域名解析排错
9)其他命令
1、ssh命令:远程登陆到其他UNIX主机
ssh -l user1 192.168.1.2 使用用户名user1登陆到192.168.1.2
2、scp命令:安全copy
3、telnet命令:登陆到远程主机

浙公网安备 33010602011771号