Linux常用操作

it2022-06-25  96

练习一:安装CentOS

1、设置为1G内存(才有图形界面)、10G硬盘

2、分给交换分区2G(4G一下2G,8G-32G分4G-8G)


练习二:安装CentOS迷你版

1、安装

2、设置Linux服务器网卡:

编辑网卡配置项vi /etc/sysconfig/network-scripts/ifcfg-eth0

ONBOOT=yes BOOTPROTO=static NETMASK=255.255.255.0 IPADDR=192.168.1.22 #网关 DNS1=8.8.8.8

重启网卡 service network restart

测试网络 ping baidu.com Ctrl+C中断ping测试

关闭Selinux vi /etc/selinux/config

SELINUX=disabled

重启服务器 reboot

测试网络 ping baidu.com关闭系统 halt

练习三:命令操作

查看当前所在的文件位置 pwd尝试切换终端 Ctrl+Alt+(F2~F6)清屏 Ctrl+L / clear查看根目录下tmp中的文件 ls /tmp查看根目录下tmp中文件的详细信息 ls -l /tmpll /tmp查看根目录下tmp中文件的详细信息,文件大小以可识别单位查看 ls -lh /tmpll -h /tmp按格式输出当前时间 [2014/02/17 23:59:59] date "+%Y-%m-%d %H:%M:%S按格式输出当前日期 [2014/02/17] date "+%Y/%m/%d"安装man帮助工具 yum search man 有man.i686可以安装yum install man 安装many 是否下载y 是否安装yum install -y man 不询问直接安装man命令查看帮助 man date 上下键滚屏幕,可以翻页,q退出练习:使用man命令查看date帮助,输出星期几,十二小时制显示日历 calcal 2 12 2012 查看2012年12月02日tab键补全路径或命令 [使用tab补全的方式完成] vi /etc/sysconfig/network-script/ifcfg-eth0 两次tab可显示相同前缀的date

练习四:命令操作

1、关机练习

shutdown -h now 立刻关机shutdown -h 15:30 15:30关机shutdown -h +30 30分钟后关机shutdown -r +20 "20m shutdown" 输出信息关机shutdown -k +2 "一会要关机,抓紧保存" 输出关机通知,不执行Ctrl+C 取消操作halt 立刻关机reboot 重新启动

2、找回ROOT密码

系统起动时,随便按一个键进入grub菜单按e键进入编辑模式移入kernel行,按e继续编辑在最后面输入 single回车按b引导系统进入单用户模式执行passwd命令,输入新密码

3、目录操作

cd /tmplsllcd 直接打cd回当前用户的 家目录pwd

4、如何计算目录权限

ll / 查看根目录下的文件详情 d代表文件夹 可读(read)r->4 可写(write)w->2 可执行(execute)x->1d|rwx|rwx|rwx 类型 | 所有者 | 所属组 | 其它用户drwxr-xr-x 目录权限755-rw-rw-r-- 文件权限664,一般文件不需要x权限umask #查看默认权限umask -S #以易读的方式查看

5、用户

useradd xz 添加用户 xzpasswd xz 添加密码给xz用户 admin888 输入密码admin888 确认密码who 查看谁在服务器上

6、文件权限

base

mkdir /test 创建目录testcd /test 进入目录test

test.1

touch file 创建文件filevi filecat file 查看file文件

ll -rw-r--r-- 1 root root 0 Apr 3 07:58 file

chown xz file 把file文件的所有者改为xz

ll xz root

chown xz:xz file 把file文件的所属组也给xz

ll xz xz

chmod 060 file 改变file文件的权限为---rw----

test.2

mkdir sina 创建文件夹sinatouch ./sina/atouch ./sina/bchmod -R 777 sina 目录sina里的所有文件都改为777权限ll ./sina

test.3

touch baiduchgrp xz baidu 改变所属组为xztouch sohuchown :xz sohu 改变所属组方法二

test.4

用户(user)u 组(group)g 其它人(other)o touch abcchmod g+wx abc 使组内成员对abc 可写+执行chmod u=rwx,g=rw,o=rw abc 修改文件abc所有者权限为rwx,组为rwx,其他人为rwxchmod o-r abc 去掉其他人o的r(读)权限chmod -r abc 去除所有用户的r权限

7、练习:

用cxz帐号给文件/test/aaa添加其他人可读可写的权限,使用zxz帐号进行编辑

ROOT账户 useradd zxz…chmod 777 /testcxz账号 cd /testtouch aaa 新建文件touch bbbchmod o=rw aaa 添加权限chmod o=w bbbzxz账号 cd /testvi aaavi bbbll

root账号 rm -rf /test/* 不提示,删除文件

**只给文件x权限,不给r,其它人强制写入,会改变此文件所有者及所属组** **如果只给目录r权限,无法读取到目录中文件详细信息,如修改时间等,所以rx一般配合使用** 文件: 读取文件内容 r 编辑修改文件 w(不表示可以删除文件) 执行文件 x(sh脚本) 目录: 列出文件列表 r(比如可以执行ls读取文件列表) 进入目录 x(网站目录给rx权限,表过进入目录读取内容) 新建文件 w 删除文件 w 改名 w 移动文件 w **目录权限的w权限增删改查文件的存在。而不管文件内容的w权限**

练习五:

1、基础操作

ls . 显示当前目录的文件cd - 切换工作目录cd ~xz 进入xz用户的家目录history 查看历史执行命令!l 执行上一次执行的ls .tar zcvf /test/etc.tar.gz /etc 打包etc目录到test中

2、环境

echo $PATH 查看当前系统环境变量

test

cd /test

vi xz.sh shell脚本

echo "hello world"

chmod +x xz.sh 添加可执行权限

xz.sh 失败./xz.sh 成功PATH=$PATH:/test 吧/test目录加入环境变量xz.sh 成功

3、查找文件

whereis man 查看man文件位置whereis yum 查看yum文件位置

4、取得目录与文件名

dirname /home/xz 取得目录名basename /home/xz 取得文件名

5、练习

使用mkdir创建目录Admin/App/Category/Control

mkdir /wwwcd /wwwmkdir -p Admin/App/Category/Control 递增创建目录

6、练习

使用tree命令 查看Admin目录树

yum install -y treetree Admintree ./tree

练习六

1、删除操作

cd /testtouch {a,b,c} 创建a、b、c三个文件,中间不能有空格rm a 删除文件a,带有确认rm -f b 直接删除空目录/文件rm -rf c 直接删除非空目录/文件

2、复制

mkdir /www 创建/www目录mkdir /backup 创建/backup目录cdtouch test.html 创建/root/test.html文件cp test.html /backup 将/root/test.html复制到/backupls /backup/

3、复制

cp /etc/sysconfig/network-scripts/ifcfg-eth0 /backup/ifcfg-eth0.bak备份网卡配置文件ls /backup

4、软连接

test.1

cd /wwwtouch linux.phpln -s /www/linux.php /backup/linux_link.phpll /backup

test.2

vi exe.sh

date '+%Y-%m-%d %H:%M:%S'

chmod +x exe.sh

./exe.shln -s /www/exe.sh /bin/exe.sh 在任何目录执行exe.sh都可以

5、硬链接

cd /wwwtouch a.class.phpln a.class.php b.class.php 两个链接引用了磁盘上这块的地址

6、改名与移动

mv exe.sh /backup 移动cd /backupmv exe.sh xz.sh 改名

7、取文件内容

cp /etc/passwd /www 复制passwd到www目录head -n 3 passwd 查看前3行tail -n 3 passwd 查看最后3行cat passwd 查看全部文件cat -n passwd 带行号more passwd 空格,下一屏,退出q

8、管道

cat passwd | nl | more 查看passwd 结果 -> 显示行号 结果 -> 分屏nl passwd | more 分屏显示passwd 结果 -> 分屏

9、显示行、字符、字节数

wc -l passwd 显示行数wc -m passwd 显示字符数wc -c passwd 显示字节数wc passwd 一次显示行、字符?、字节、文件名

练习七:(视频14)

1、文本内容搜索

cd /test

vi a.html

#aaa ;bbb ccc grep -v "^[#;]" ./a.html 查看非#;开头的grep -i "aAa" a.html 不区分大小写

2、查找文件

method.1

which passwd 一般用来查找命令whereis passwd 查找文件名passwd的文件

method.2

touch abc.htmlyum install -y mlocate 安装locateupdatedb 更新数据库才能查找到locate abc.html

method.3

find abc.html 相对locate走数据库会比较慢,但是都能找到find / -nouser 删除没有用户的文件find / -size +10240k 查找大于10MB的文件find / -mtime -2 查找3天内修改的文件find / -mtime +2 查找3天前修改的文件find / -mtime 1 查找昨天修改的文件

3、权限设置

cd /wwwrm -rf *mkdir htmltouch index.htmlchmod 0000 *find /www -type d -exec chmod 755 {} \; 目录权限改为755find /www ! -type d -exec chrmod 644 {} \; 文件权限改为644find / -name index.html 查找文件

find / -user xz 查找用户xz

find ~xz -name *.html

find . -name *.html -exec rm -i {} \; -i表示删除的时候确认下

练习八:磁盘分区(视频15、16)

1、列出目录大小

du -a 列出目录所有文件大小,字节(显示隐藏文件)du -ah 用可识别的单位du -s 只列出总大小,不显示du -s | more 分屏,空格下一屏,q退出du -Shs 不计算子目录大小

2、查看分区大小

df -h

3、查看硬盘信息并分区

关机,虚拟机插入硬盘fdisk -lfdisk /dev/sdbn 分区操作。如果输入错误,使用Ctrl+删除键p 主分区1 第一个回车 起始+2G 分配2Gw 写入分区表fdisk -l

mkfs -t ext4 /dev/sdb1 格式化1,挂载中的不能被格式化

mount 查看挂载

cd /mkdir menls /menmount /dev/sdb1 /men 挂载sdb1到/men,但是,重启后会消失ls 多一个lost+found

umount /dev/sdb1 卸载挂载点

yum install -y vim 17M->49M

vim /etc/fstab 修改自动挂载

/dev/sdb1 /men ext4 defaluts 0 0 #分区卷标 挂载点 系统类型 选项 备份 修复

4、练习

添加2块硬盘(8G)第一块分3个主分区 2、2、x第二块分5个区 2、2、2、1、x

练习八 (视频18)

1、压缩与解压缩

cd /testmkdir tmpcp /etc/passwd ./tmpcd tmp

zip/unzip

yum install -y zipzip passwd .zip passwd 压缩为passwd.zip把passwdrm -rf passwdyum install -y unzipunzip passwd.zip 解包

gzip

gzip passwdll passwd.gzgzip -d passwd.gz 解压缩ll

bzip2

bzip2 passwdll passwd.bz2bzip2 -d passwd.bz2 解压缩ll

2、打包

cd /testtar zcvf etc.tar.gz /etc gz打包tar jcvf etc.tar.bz2 /etc bzip2打包tar zpcvf etc.tar.gz /etc 备份etc目录tar ztvf ./etc.tar.gz | more 查看压缩包内容

rm -rf *

加上v可以看到过程 保留备份数据的缘由属性 装好环境,第一时间备份/etc/目录

练习九:VIM使用(视频19、20)

1、基础操作

cd /www

vi index.php

i <?php echo "hello" ?> Esc :wq! #强制保存退出:x!也可以

vi index.php

aaa :q! #强退

2、提高

cd /testcp /etc/passwd passwd

test.1

vi passwd

i #当前插入 I #行首插入 a #下一个光标 A #行尾 r #替换 R #相当于Insert :sh #暂时最小化 exit #返回 ZZ #保存退出

test.2

vi passwd

:w pwd #另存文件为pwd :set nonu #不显示行号 :set nu #显示行号 :set tabstop=4 #设置tab宽度 :12 #跳转到第12行 12G #跳转到12行 Ctrl+F #查看下一页 Ctrl+B #查看上一页 $ #跳转到全文末尾 G #跳转到最后一行 1G #跳转到第一行 /a #向下搜索a,按n是继续搜索 ?a #向上搜索a 1,$s/a/b/g #从第1行到最后,把a替换成b,全局 1,$s/b/a/gc #替换时提示,y确认,n跳过 Esc x #删除一个字符 X #向前删除一个 dd #剪切当前行 p #向下粘贴 3dd #向下剪切3行 P #向上粘贴 yy #复制 nyy

test.3 vim配置

cd

vi .vimrc 查看vi的配置项

set nu #显示行号 set tabstop=2 #tab宽度 set autoindent #自动缩排

cd /test

vim a.php

:sh ls -arm -rf .a.php.swp 暂存文件删除

练习十:文件权限(视频21、22)

1、用户

idcat /etc/passwdcat /etc/shadowuseradd user2

passwd user2

admin888 admin888

cat /etc/group 查看组

id user2

2、用户组

usermod -L user2 锁定用户user2usermod -U user2 解锁用户user2groupadd admin 创建用户组adminid user2usermod -G admin user2 设置用户user2附加组admin

3、删除用户

userdel user2 删除用户ls /home 用户的家目录还未删除掉useradd user3lluserdel -r user3 删除用户宿主目录ll

4、用户状态

useradd user4passwd -S user4

passwd user4

admin888 admin888

passwd -l user4 锁定用户

passwd -u user4 解锁

5、组

groupadd zu1 添加组groupdel zu1 组里面有成员是删不掉的

6、查看

ll /usr/bin/passwd 查看passwd下的目录和文件 -rwsr-xr-x.

ls -l /usr/bin/passwd 查看passwd下的文件 权限 -rwsr-xr-x.

前面的“s”代表执行者可变身

ls -l /etc/shadow 权限-----------

7、GID

4表示UID 2表示GID cd /testmkdir shopgroupadd shop 添加shop组id zxzusermod -G shop zxz 把shop组给予zxz用户id zxzusermod -G shop xzchmod 770 shopll drwxrwx---cat /etc/group 查看组文件中列表

2770

chmod 2770 shop drwxrws---

chown :shop shop shop目录的默认组改为shop

s表示,在shop目录里创建的文件,所属组都是这个shop 组成员可以互相修改对方创建的文件

1777

cd shoptouch a.php

ll

mkdir share

chmod 1777 share

ll drwxrwxrwt

任何人都可以在里面创建目录,只能控制自己的文件,

ls -ld /tmp 只管理自己的目录,其它可以查看,不能修改


练习十一:ACL权限(视频23)

1、新磁盘挂在ACL

vim /etc/fstab 修改自动挂载

/dev/sdb1 /men ext4 defaults,acl 0 0 #分区卷标 挂载点 系统类型 选项,acl 备份 修复

2、组权限

test.1

cd /testtouch index.htmlsetfacl -m u:zxz:rw index.html -rw-rw-r--+getfacl index.html

test.2

setfacl -b index.htmlgroupadd cc 添加组usermod -G cc lisi 添加成员usermod -G cc qqsetfacl -m g:cc:rw index.html 指定index.html为cc组

getfacl index.html

组内用户重新登陆,获取一下权限 用户的mask里有的才能设置

练习十二:源代码安装软件(视频24)

1、源代码安装软件

cd /usr/local/src/yum install -y wgetwget http://www.memcached.org/files/memcached-1.4.17.tar.gztar zxvf ./memcached-1.4.17cd ./memcached-1.4.17./configure 生成配置检测yum isntall -y gcc make 安装gcc和make工具./configurecd ..wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz下载扩展库tar zxvf libevent-2.0.21-stable.tar.gzlscd libevent-2.0.21-stable./configuremake 生成可安装文件make install 安装cd ..cd memcached-1.4.17./configuremake && make install

软件安装完成

2、启动memcache

memcachedldd /usr/sbin/groupadd 查看groupadd需要的库文件cat /etc/ld.so.confecho '/usr/local/lib'>>/etc/ld.so.conf 追加cat /etc/ld.so.conf 查看ldconfig 重新加载动态链接库共享memcached -uroot -d 启动memcachedps aux | grep mem 查看进程

yum install -y memcache 可以自动安装好

3、合理的安装软件

./configure -hmake cleanmkdir /usr/local/memcachels /usr/local/memcachecd /usr/local/src/memcache-1.4.17./configure --prefix=/usr/local/memcache/make && make installcd /usr/local/lscd memcache/cd binls./memcached -uroot -dcd ..lscd ../../rm -rf memcache 这样删除就相当于删除了软件

练习十三:软件安装(视频25)

1、RPM了解

rpm -q vim 查看vim是否安装rpm -qarpm -qa | egrep -i tree 查看tree命令是否安装rpm -qal | grep vim 查看vim软件安装所有文件与目录rpm -qac | grep vim 查看vim软件的配置文件rpm -qpR /media/Packages/tree-1.5.3-2el6.i686.rpm 查看所依赖包

2、RPM

su - 切换为rootmount /dev/cdrom/media 可以下载软件包,挂载光驱到mediafind /media -name tree* 查找rpm包

rpm -ivh /media/tree-1.5.3-2.el6.i686.rpm 安装tree命令

rpm -e tree erase删除;删除tree

rpm -q tree query查询;查询是否还有tree

3、YUM

yum info mysql 查看软件信息yum list tree\* 联网搜索yum search tree 搜索的范围更广yum remove tree 删除treeyum install tree 安装treeyum update 更新全部软件yum install -y mysqlyum 直接输入yum可以看到相关的命令

练习十四:软件安装(视频26)

1、安装软件

更换yum软件包源

cd /etc/yum.repos.d/mv CentOS-Base.repo CentOS-Base.repo.bak 备份原配置wget http://mirrors.163.com/.help/CentOS6-Base-163.repo 下载163源wget http://mirrors.sohu.com/help/CentOS-Base-sohu.repo 搜狐yum源,现在有问题?yum makecache 生成缓存

安装mysql+php+apache

yum install -y mysql mysql-server php php-mysql php-mbstring httpd

启动apache
apachectl start 开启Apache,出现错误不管ps aux | grep httpd 查看Apache进程是否启动service iptables stop 关闭防火墙cd /var/www/html

vim index.php

<?php phpinfo(); ?>
启动mysql
service mysqld start 启动MySQL

mysql -uroot -p 进入mysql

show databases; exit;

2、计划任务

/etc/init.d/atd start 启动单一计划任务atyum search atyum install -y atps aux | grep at 查看计划任务进程

at 13:30 2014-2-21

at>echo 'hello' #回车后,Ctrl+D编译命令

at -l 查看任务

at -c 50 查看为50的任务

3、周期任务

service crond start 周期性计划任务touch /test/xz.tpl

crontab -e

!whereis echo #查看echo在哪个目录 */1 * * * * /bin/echo 'hello\n'>>/test/xz.tpl :x

cd /test

watch cat /test/xz.tpl 每隔2S执行cat ... ctrl+c退出

4、自动任务备份数据库

mysql -uroot -p

CREATE DATABASE bbs; CREATE DATABASE study; USE mysql; #MySQL更改用户密码 UPDATE mysql.user SET password=password('admin888') WHERE user='root'; FLUSH PRIVILEGES; exit;

cd /www

vim backup.sh 编译shell脚本

cd /backup btime = `date +%Y_%m_%d_%H` #注意不是引号 /usr/bin/mysqdump -uroot -padmin888 --database bbs study > /backup/database/bbs_study-$btime.sql #mysqldump的位置,登录,备份数据库bbs、study;备份到$btime这个变量,每天都会有不同的文件 !sh

whereis mysqldump

exit./backup.sh 执行shell脚本测试ls /backup/database/

cat /backup/database/bbs_study_*****.sql

crontab -e 创建定时任务

10 3 * * * /www/backup.sh #每天3点10分自动执行

5、练习

通过crontab完成每天3点59分重启 答案:59 3 * * * shutdown -h now 'system will shutdown!'通过crontab完成每天5点执行updatedb 答案:0 5 * * * updatedb每天3点执行软件更新yum update 答案:4 0 3 * * * yum update每天3点备份网站数据库 答案:

练习十五:进程服务管理(视频27、28)

1、进程与服务

cd /testvim a :sh

ps

ps aux | grep vim 查看vim进程

kill -9 xxx 结束进程xxx

ps -local 查看当前任务

ps aux | more 查看所有进程

pstree -p 显示进程pid

pstree -u 显示进程调用账号

uptime

uptime 查看系统运行时间与负载,要小于0.8

top

top 一般看cpu的负载,用户,总内存

按大写P,按照CPU占用排序 按大写M,按照内存占用排序 按大写N,按照PID占用排序 按大写q,离开top

cd /etc/init.d 查看进程

ls/etc/init.d/httpd stop 终止Apacheservice httpd start 开启服务,只有CentOS里面有

2、级别

init 1 切换到单用户模式,就不能远程连接了。

init 3 多人,带网络

cd /etc/rc.d

lsls rc1.d 所有以K开始的表示init 1下服务不启动ls rc3.d 所有以S开始的表示init 3下启动的服务

3、服务状态

chkconfig 查看所服务状态chkconfig --level 345 httpd on 开机启动Apachechkconfig --list httpd 查看Apache的服务状态chkconfig --level 345 mysqld on 开机启动mysqlservice iptables stop

练习十六:网络和vnc(视频29、30)

1、网络地址查看

yum install -y bind-utils nslookup www.baidu.com

2、iftop查看网络

cd /usr/local/src wget http://www.ex-parrot.com/~pdw/iftop/download/iftop-0.17.tar.gz yum install -y gcc make flex byacc libpcap ncurses ncurses-devel libpcap-devel tar zxvf iftop-0.17.tar.gz cd iftop-0.17 ./configure make && make install iftop

3、SSH

SSH服务启动

/etc/init.d/sshd restart #启动SSH服务 netstat –tlp | grep sshd #检查SSH服务监听状态

通过SSH执行命令

ssh root@www.houdunwang.com ssh root@www.houdunwang.com ls / scp ./mobile root@192.168.10.114:/mnt/data1/www/ #复制一个文件 scp root@192.168.10.114:/mnt/data1/www/ . #复制到本地

4、VNC

桌面版安装 配置网卡 yum –y install tigervnc-server.i686

vi /etc/sysconfig/vncservers VNCSERVERS="1:zhaxiaoze" passwdsu zhaxiaoze vncpasswd /etc/init.d/vncserver startservice iptables stop vi /etc/selinux/config SELINUX=disabled #是Linux里面安全的一个组件,WEB服务一般关闭 setenforce 0 临时关一次 /etc/init.d/vncserver start

5、Linux网络安全

密码:lisi922liming->liming(@@liming /etc 目录备份

安全意识 目录权限750:find /www -type d -exec chmod 750 {} \; 文件权限640:find /www ! -type d -exec chmod 640 {} \;

防火墙(视频32)

不要在该奋斗的年纪选择去偷懒,只有度过一段连自己都被感动了的日子,才会变成那个最好的自己.

转载于:https://www.cnblogs.com/jay36/p/7743542.html


最新回复(0)