目录
目录结构说明
- /bin bin是Binary的缩写, 这个目录存放着最经常使用的命令
- /boot 系统启动目录,保存与系统启动相关的文件,如内核文件和启动引导程序(grub)文件等
- /dev dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的
- /etc 配置文件保存位置,系统内所有采用默认安装方式(rpm安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
- /home 用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的
- /lib 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库
- /media linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下
- /mnt 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了
- /opt 这是给主机额外安装软件所在目录,默认是空的,/usr/local/ 目录也可以用来安装软件
- /root 该目录为系统管理员,也称作超级权限者的用户主目录
- /sbin 这里存放的是系统管理员使用的系统管理程序 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
- /srv 服务数据目录,一些系统服务启动之后,可以在这个目录中保存所需要的数据
- /tmp 临时目录,系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入,建议此目录中不能保存重要数据,最好每次开机都把该目录清空
- /usr这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
- /usr/bin 存放系统命令,普通用户和超级用户都可以执行,这些命令和系统启动无关,在单用户模式下不能执行
- /usr/sbin 存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用
- /usr/lib 应用程序调用的函数库保存位置
- /usr/XllR6 图形界面系统保存位置
- /usr/local 手工安装的软件保存位置,我们一般建议源码包软件安装在这个位置
- /usr/share 应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
- /usr/src 源码包保存位置,我们手工下载的源码包和内核源码包都可以保存到这里。不过笔者更习惯把手工下载的源码包保存到 /usr/local/src/ 目录中,把内核源码保存到 /usr/src/linux/ 目录中
- /usr/include C/C++ 等编程语言头文件的放置目录
- /var这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下,包括各种日志文件。
- /var/lib 程序运行中需要调用或改变的数据保存位置,如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
- /var/log 登陆文件放置的目录,其中所包含比较重要的文件如 /var/log/messages, /var/log/wtmp 等
- /var/run 一些服务和程序运行后,它们的 PID(进程 ID)保存位置
- /var/spool 里面主要都是一些临时存放,随时会被用户所调用的数据,例如/var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务。
- /var/www RPM 包安装的 Apache 的网页主目录
- /var/nis和/var/yp NIS 服务机制所使用的目录,nis 主要记录所有网络中每一个 client 的连接信息;yp 是 linux 的 nis 服务的日志文件存放的目录
- /var/tmp 一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
/lost+found 当系统意外崩溃或意外关机时,产生的一些文件碎片会存放在这里。在系统启动的过程中,fsck 工具会检查这里,并修复已经损坏的文件系统。这个目录只在每个分区中出现,例如,/lost+found 就是根分区的备份恢复目录,/boot/lost+found 就是 /boot 分区的备份恢复目录
/proc 这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all/sys 虚拟文件系统。和 /proc/ 目录相似,该目录中的数据都保存在内存中,主要保存与内核相关的信息
/selinux 这个目录是Redhat/CentOS所特有的目录,Selinux是一个安全机制,类似于windows的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的
常用指令集
基础指令
快捷键
Ctrl+c 终止当前执行的程序
Ctrl+s 挂起当前终端(保护不被修改)
Ctrl+q 取消挂起终端
Ctrl+d 退出终端reboot #重启(shutdown -r now)
halt #马上关机(shutdown -h now)
sudo password root #开启root权限命令
su root #切换到root用户,当输入框前面的“$”符号变成“#”时,就可以使用root权限了sudo #以系统管理者的身份执行指令
ls #列出目录
cd #切换目录
pwd #显示目前的目录
mkdir #创建一个新的目录
rmdir #删除一个空的目录
cp #复制文件或目录
touch #创建文件的命令删除文件
#删除 一般文件 "test.txt"
rm test.txt
#删除usr下面所有文件
rm -r /usr/*
#匹配删除
rm -f /usr/lib/book*.so移动文件
mv /home/ffxhd/a.txt /home/ffxhd/test/
移动+重命名文件
mv /home/ffxhd/a.txt /home/ffxhd/test/b.txt软件操作:
apt
apt-getvi/vim
文本编辑器
i 可以输入命令
:q! 不保存退出(先按Esc)
:wq! 保持退出(先按Esc)
# 注释chmod
#文件使用权限
各权限对照表:读权限r:4、写权限w:2、执行权限x:1
[rwxrw-r-x]:三个三个一组(owner/group/others)
若要rwx属性则4+2+1=7;
若要rw-属性则4+2=6;
若要r-x属性则4+1=5;
例chmod 777 /usr/t.txt
#修改目录下所有文件权限
sudo chmod 775 scitools/ -R文件压缩
tar -zcvf 压缩文件名称.tar.gz 压缩文件路径
-c 新建打包文件,同 -v 一起使用 查看过程中打包文件名
-x 解压文件, -C 解压到对应的文件目录。
-f 后面接要处理的文件
-j 通过bzip2方式压缩或解压,最后以.tar.br2 为后缀。压缩后大小小于.tar.gz
-z 通过gzip方式压缩或解压,最后以.tar.gz 为后缀
-v 压缩或解压过程中,显示出来过程
-t 查看打包文件中内容,重点文件名tar –xvf file.tar #解压 tar包
tar -xzvf file.tar.gz #解压tar.gz
tar -xjvf file.tar.bz2 #解压 tar.bz2
tar –xZvf file.tar.Z #解压tar.Z
unrar e file.rar #解压rar
unzip zipped_file.zip #解压文件
unzip -l zipped_file.zip #查看压缩文件中的内容而不解压压缩文件
zip -r filename.zip dirname #压缩
- 把/home目录下面的mydata目录压缩为mydata.zip
zip -r mydata.zip mydata #压缩mydata目录
- 把/home目录下面的mydata.zip解压到mydatabak目录里面
unzip mydata.zip -d mydatabak
- 把/home目录下面的abc文件夹和123.txt压缩成为abc123.zip
zip -r abc123.zip abc 123.txt
- 把/home目录下面的wwwroot.zip直接解压到/home目录里面
unzip wwwroot.zip
- 把/home目录下面的abc12.zip、abc23.zip、abc34.zip同时解压到/home目录里面
unzip abc\*.zip
- 查看把/home目录下面的wwwroot.zip里面的内容
unzip -v wwwroot.zip
- 验证/home目录下面的wwwroot.zip是否完整
unzip -t wwwroot.zip
- 把/home目录下面wwwroot.zip里面的所有文件解压到第一级目录
unzip -j wwwroot.zip
主要参数
-c:将解压缩的结果
-l:显示压缩文件内所包含的文件
-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换
-t:检查压缩文件是否正确
-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中
-v:执行是时显示详细的信息
-z:仅显示压缩文件的备注文字
-a:对文本文件进行必要的字符转换
-b:不要对文本文件进行字符转换
-C:压缩文件中的文件名称区分大小写
-j:不处理压缩文件中原有的目录路径
-L:将压缩文件中的全部文件名改为小写
-M:将输出结果送到more程序处理
-n:解压缩时不要覆盖原有的文件
-o:不必先询问用户,unzip执行后覆盖原有文件
-P:使用zip的密码选项
-q:执行时不显示任何信息
-s:将文件名中的空白字符转换为底线字符
-V:保留VMS的文件版本信息
-X:解压缩时同时回存文件原来的UID/GIDcat
命令用于连接文件并打印到标准输出设备上。
#将 t 中的内容追加到 t2 中
cat /usr/t.txt >> /usr/t2.txt
#清空 /usr/t2.txt 文档内容:
cat /usr/null > /usr/t2.txttail
查看文件的内容,常用于查阅正在改变的日志文件。
tail -f /usr/local/log.out
-f 循环读取
-q 不显示处理信息
-v 显示详细的处理信息
-c<数目> 显示的字节数
-n<行数> 显示文件的尾部 n 行内容
--pid=PID 与-f合用,表示在进程ID,PID死掉之后结束
-q, --quiet, --silent 从不输出给出文件名的首部
-s, --sleep-interval=S 与-f合用,表示在每次反复的间隔休眠S秒#查看Tomcat实时日志
进入Tomcat的logs目录,输入 tail -f catalina.outnetworkmanager
sudo apt-get install nmcli #安装nmcli
nmcli dev #查看网络设备
nmcli dev wifi #扫描wifi
sudo nmcli dev wifi connect wifi名 password 密码
sudo nmcli dev wifi connect wifi名 password 密码 iface 网卡设备名(wlan0)iw
iw help #帮助
iwconfig #接口设备配置
iwlist #获得所有设备的功能,如带宽信息(2.4GHz,和5GHz),和802.11n的信息
iw dev scan #扫描设备(SSID无线名称)
iw link set wlan0 up #启动wlan0接口设备
iw dev wlan0 link #获得链路wlan0状态
iw wlan0 connect 无线名称(SSID) #连接到无线 无密码(使用WEP 加密)
iw wlan0 connect 无线名称(SSID) key 0:密码 #连接到无线 有密码(使用WEP 加密)
iw dev wlan1 station dump #获取station 的统计信息
iw dev wlan1 station get #获得station对应的peer统计信息
iw event #监听事件
sudo ifconfig wlan0 down
sudo ifconfig wlan0 up
sudo iwlist wlan0 scanning文件搜索
find
-name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写
#系统中所有文件名 包含 tomcat 的文件
find / -name *tomcat*
#将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
find . -name "*.c"
#将目前目录其其下子目录中所有一般文件列出
find . -type f#将当前目录及其子目录下所有最近 20 天内更新过的文件列出:
find . -ctime -20#当前文件夹及子文件夹下查找.svn文件夹并递归删除
find . -name '.svn' -type d | xargs rm -rf
#删除文件
find . -name "*.abc" -type f | xargs rmlocate
sudo updatedb
locate 文件名
#查找 passwd 文件,输入以下命令
locate passwd
#搜索 etc 目录下所有以 sh 开头的文件
locate /etc/sh
#忽略大小写搜索当前用户目录下所有以 r 开头的文件
locate -i ~/rlocate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为:
sudo updatedbgrep
命令用于查找文件里符合条件的字符串
grep -r 查询字符串搜索包含http://mob.njpi.edu.cn:9000的js文件
grep -H -r "http://mob.njpi.edu.cn:9000" *.js | cut -d: -f1 | uniq系统端口
本机端口是否打开
telnet localhost 80
w3m http://localhost:80#端口查询
lsof -i:端口号
netstat -tunlp|grep 端口号# ps (英文全拼:process status)命令用于显示当前进程的状态(查项目是否重复启动)
ps -ef | grep pid
#关闭进程
kill -9 pid统计80端口连接数
netstat -nat | grep -i "80" | wc -l查看Apache当前并发访问数
netstat -na | grep ESTAB | grep 端口 | wc -l#查看连接数等待time_wait状态连接数
netstat -an |grep TIME_WAIT|wc -l
#查看建立稳定连接数量
netstat -an |grep ESTABLISHED |wc -l
#查看不同状态的连接数数量
netstat -an | awk '/^tcp/ {++y[$NF]} END {for(w in y) print w, y[w]}'
#查看每个ip跟服务器建立的连接数
netstat -nat|awk '{print$5}'|awk -F : '{print$1}'|sort|uniq -c|sort -rn其他
ubuntu没有安装处理可执行文件的应用程序
#修改文件模式(然后点击运行)
sudo chmod u+x 文件名.runCentOS7.0后,不再使用service,而是systemctl
打开服务:sudo systemctl start 名
关闭服务:sudo systemctl stop 名
重启服务:sudo systemctl restart 名route -n #查询路由信息
top #cpu使用情况
ulimit -a #linux系统限制信息
#修改open files 数量
ulimit -SHn 65535
#查看系统可以打开的最大文件句柄数
cat /proc/sys/fs/file-max