linux使用笔记

目录

目录结构说明

 常用指令集

基础指令

vi/vim

chmod   

文件压缩

cat     

tail

networkmanager

iw

文件搜索

系统端口

其他



目录结构说明

  • /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-get

vi/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/GID

cat     

命令用于连接文件并打印到标准输出设备上。
        #将 t 中的内容追加到 t2 中
        cat /usr/t.txt >> /usr/t2.txt
        #清空 /usr/t2.txt 文档内容:
        cat /usr/null > /usr/t2.txt

tail

查看文件的内容,常用于查阅正在改变的日志文件。
        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.out

networkmanager

    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 rm

locate
    sudo updatedb
    locate 文件名
            #查找 passwd 文件,输入以下命令
                locate passwd
            #搜索 etc 目录下所有以 sh 开头的文件
                locate /etc/sh
            #忽略大小写搜索当前用户目录下所有以 r 开头的文件
                locate -i ~/r

     locate 与 find 不同: find 是去硬盘找,locate 只在 /var/lib/slocate 资料库中找。
     locate 的速度比 find 快,它并不是真的查找,而是查数据库,一般文件数据库在 /var/lib/slocate/slocate.db 中,所以 locate 的查找并不是实时的,而是以数据库的更新为准,一般是系统自己维护,也可以手工升级数据库 ,命令为: 
                sudo updatedb

grep

命令用于查找文件里符合条件的字符串
    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 文件名.run

CentOS7.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  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值