• 嵌入式-基础一


    1.Linux命令

    根目录:/开头的目录   相对目录: ./ (进入同级相对目录) ../开头的目录

    usr/share/doc   切换到  usr/share/man  命令为  cd ./man
    -  上一个工作目录

    ls  #查看当前目录下所有子目录、文件

    tree  #以树状方式查看目录结构

    tree  -L  2  #只展示两层目录结构

    cd ~  #进入当前用户主目录。

    ls -l  #查看当前目录文件详细信息

    ls -a  #查看当前目录文件(包括隐藏),合并为  ls -al

    ls -la  #来查看区分已存在文件是目录还是文件,如果文件最前面显示d则代表目录,显示-则代表文件

    ls  -ltr  #  r为以文件名反向排序,t是以修改时间排序

    ls -lR /home #将home目录下所有目录、子目录、文件展示

    ls -lh  #查看文件详细信息(大小带单位),对于相似的stat命令还可以看到设备号,环境等信息

    mkdir  创建目录

      mkdir  /test  #根目录下创建test文件夹

      mkdir  -p  test1/test2  #创造递归目录

      mkdir  -m 777 test3  #创建权限为777  (所有权限都拥有)目录

    cp  复制

     复制配置文件时,需要加上 -a 或 -p 参数,这样才有权限,给其他用户复制也需要加权限。

    cp ../dir3/log2 .  #复制某目录下的文件到当前目录

     复制文件并修改文件名:

     复制目录时要加上   -r或-a  参数,如:cp -r /aa bb  #复制aa 目录到bb下.

     man cp          #查看cp命令的帮助信息:

     

    cp -s  aa.txt  log.link  #将aa.txt文件拷贝为链接 log.lin

     cp -u 路径 文件  #复制新文件命令,文件更新了,才能复制,并且有询问才是成功的。

    mv 移动,注意当前目录是啥

      将目录中所有文件移动到当前目录,移动前:

       移动后:

     移动文件到另一个目录:

    mv  aa.txt  bb  #移动aa.txt文件到bb目录

    ls bb  #查看移动后

    移动多个文件到另一个目录:

     移动当前目录下的两个目录:mv  test1  test2  #移动test1到test2中

    再将当前目录下的子目录中的目录移出来:mv test2/test1 .

    mv 文件1 文件2  #修改文件1名  为  文件2,重命名目录也是可以的

     mv -v 文件 目录  #移动文件并附带移动信息

       -i  #移动文件提示是否覆盖,y确认后方成功

     rm  永久删除命令

     -rf  删除目录不提示

    touch  新建文件

    touch  file{1..5}.txt  #创建file1~file5这5个文件

    file 文件  #查看文件类型

    ln命令  为文件和目录建立链接

    ln -s  #创建软连接,相当于创建快捷方式,目录只能创建软连接,不带参数时默认是硬链接,硬链接大小和原文件大小是一样的

    cat

    查看文件的全部内容,还可查看系统文件系统的情况

    cat > file  #新建文件,重定向
    num1
    n2
    n3            #随便写点内容,按Ctrl+C退出

    cat file1 > file2  #复制file1的内容到file2,这会覆盖原来的

    cat file1 file2  #显示信息,前半部分为file1的

    cat file1 >> file2  #将file1的内容追加到file2中

    cat /dev/null/ > file1  #清空file1的内容

    more

      以页的方式查看文件信息,空格 下一页 ,ctrl+B 上一页  

    cat file.c | more  #多页方式查看

    less 

      less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less 的用法比起 more 、tail更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

    Q 退出less 命令
    diff  
    比较文件内容
    fdisk
    -l  查看存储器的信息
    m  是帮助,会把所有命令信息都列出来。
    q 不保存退出,w是保存并退出。
    磁盘分区后,要进行格式化以及挂载才能使用。
    mkfs -t ext3 /dev/sdd1  #格式化为ext3文件系统格式,/dev为硬盘分区,sdd1为设备号
    mkfs.ext3 /dev/sdd1  #同上
    挂载、卸载文件系统
     mount -t vfat /dev/sde1 /mnt/usb  #挂载u盘
    df  #查看挂载信息
    du  #查看目录的磁盘使用量。
    vi /etc/fstab  #根目录下输入此命令,此配置文件包含了需要开机后自动挂载的文件系统记录。
    2.网络管理 
      
       netstat  查看网络连接情况
      netstat -a  #列出所有端口
      netstat -at more  #显示当前TCP连接情况,t为TCP
      直接运行  ifconfig  显示所有网络接口信息。
    3.vi编辑工具
       
    进入过后为一般模式:
      

     4.网络文件系统

      NFS(网络文件系统)

      对于未设置root的新系统:

    sudo passwd  #获取到root权限,也可用于修改root 密码

    键入两遍密码后就能已root权限登录。

     ubuntu16 使用桥接网络方式,在Windows下的适配器设置里,共享中要勾选允许其他账户通过计算机的连接以及将家庭网络连接分配到虚拟机网卡(VMware Network Adapter VMnet1),设置ubuntu的ip与WLAN的在同一网段,否则不能正常联网。

      

     启动与停止NFS服务

    service nfs-kernel-server start  #开启NFS服务,已开启了用restart重启,停止用stop

    ps -ef | grep -i nfs  #检测是否启动成功,ps命令并,筛选,有nfsd  这个进程说明启动成功。

    配置服务:vi /etc exports  #查看其文件,照着例子写就行。

     

     修改配置文件示例:

    必须先获取root:  sudo passwd  #获取到root权限

    键入两遍密码后就能已root权限登录。

    vi /etc/exports  #编辑exports文件,在最后一行,无#号,插入如下代码:

    /home/tstnfs *(rw,sync,no_subtree_check)  #tstnfs文件夹是实验前就已建好的,遇到错误括号最前面加个  insecure,  参数,

    :wq  #修改完后保存,而后重启服务。

    若nfs启动失败,(因杀死进程等非正常退出)删掉 exports文件所在目录的临时文件,即exports.swp 

    使用mount命令来挂载   
    mount -t nfs localhost:/home/tstnfs /mnt/nfs    #其他电脑时localhost改为对应IP地址。
    两个目录中的文件也就是一样的了。
    卸载:返回上一级目录,再用 umount /mnt/nfs 再查看此挂载目录,为空。
    TFTP服务
      dpkg -l |grep -i tftp  #检测是否按照tftp服务
    遇到提示无法获得锁时:1. 查看进程 ps aux | grep apt #列出所有占用apt资源的进程,结果中,第一列代表用户,第二列是进程id,而我们要做的就是强制结束这个进程; 
    2.结束其他进程 sudo kill 进程id
    3.继续执行你之前的命令
    启动与停止服务:service tftp-hpa start  #单独启动
    service xinted start  #许多服务都是放到xinted中进行统一管理的,这里tftp也是
      netstat -a | grep tftp  #使用netstat命令查看tftp端口是否已经打开
    TFTP服务配置:
      修改配置文件:  /etc/default/tftpd-hpa  
      cd /etc/xinetd.d  #原来默认是没有tftp的可以用sudo vi tftp新建一个,可以ls查看
      也可以修改xinetd服务配置文件,在目录下添加一个 service tftp{}
    
    
    
     进入/etc/default 下 sudo vi  tftpd-hpa 修改至如下:修改完后要重启服务。
    建立tftp的主工作目录:
    mkdir /etc/tftpboot  #新建tftpboot目录, su  root  #成为root用户才能进行权限修改 chmod  777 tftpboot  #权限修改

     确保服务端和客户端在同一地址下,可手动配置IP地址。

    使用TFTP传输文件

        tftp 192.168.0.81

        tftp >get <download file>

        tftp>put <upload file>

        tftp>q

    samba服务

      安装:1.apt-get install samba samba-common

          2.创建一个用于分享的目录,并修改权限至777

          3.smbpasswd -a 用户名  #添加用户,并设置samba密码

      service smbd start  #启动服务

      service nmbd start  

    配置文件目录:/etc/samba/smb.conf  ,在最后一行添加下面的,进行修改:

     重新设置samba密码的命令:  smbpasswd -a root

    使用下面的配置可实现无密码访问samba,  wxd替换为自己的用户名

    [share]

    comment = share folder
    path = /home/wxd/samba_share
    public = yes
    browseable = yes
    public = yes
    read only = no
    writable = yes
    valid users = root
    create mask = 0777
    directory mask = 0777
    force user = nobody
    force group =nogroup
    available = yes
    security = share

    地址栏填充自己系统的IP访问:\192.168.31.81  

    遇到无法访问samba的问题,取消勾选服务中的SMB 1.0,并确定重启

    复制

    • 单行复制
      在命令模式下,将光标移动到将要复制的行处,按“yy”进行复制;
    • 多行复制
      在命令模式下,将光标移动到将要复制的首行处,按“nyy”复制n行;其中n为1、2、3……

    二、粘贴

      • 在令模式下,将光标移动到将要粘贴的行处,按“p”进行粘贴

    个人共享目录为  /opt/test  (从linux进入到这里可获得windows下拷贝的文件),输入命令时tab键自动补全文件名。

    配置虚拟机出错时,安装常用函数库:

    # sudo apt-get install libsdl-dev
    # sudo apt-get install zlib1g-dev

    执行 makefile -j4出错时,

    在执行./configure命令后makefile和makefile.configure里LIBS+=-lz 的后面 直接添加-lrt –lm
    即LIBS+=-lz -lrt –lm  

    解压

    
    

    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 file.zip //解压zip

    安装arm-linux-gcc:  编辑 /etc/profile  最下面添加两行:export PATH=/opt/test/samba_share/5.4.0/bin:$PATH  
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/arm/gcc-4.6.4/lib  #目录自定,与上面相似
    
    
     root用户下提示 arm-linux-gcc未找到,source /etc/profile  即可,还不行,比对这个arm-linux-gcc所在的路径是否为环境变量路径。
    避免每次开机后输入:输入cd后 gedit ~/.bashrc 最后面加一行  
    source /etc/profile
    
    

     

     可以看到编译后的可执行文件是在 32-bit 的 ARM架构上运行的。

    修改环境变量导致登录循环:正常情况下使用的命令是:sudo vim /etc/profile,改为:/usr/bin/sudo /usr/bin/vim /etc/profile
    注释掉修改的环境变量即可正常登录。非正常重启命令:/usr/bin/sudo /sbin/reboot
    关机与重启:
    重启命令 : 
        1、reboot 
        2、shutdown -r now 立刻重启
        3、shutdown -r 10 过10分钟自动重启
        4、shutdown -r 20:35 在时间为20:35时候重启
        如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启 
        关机命令 : 
        1、halt   立刻关机(一般加-p 关闭电源)
        2、poweroff 立刻关机 
        3、shutdown -h now 立刻关机
        4、shutdown -h 10 10分钟后自动关机 
        如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消关机
  • 相关阅读:
    Cordova4.0 系列 -- 基本环境搭建(1)
    随便写写2015创业记(三)
    有哪些好用的数据分析工具?
    文字检测识别系统好用吗?都针对什么进行识别?
    用户奖励体系有哪些反作弊的机制?
    1月第2周业务风控关注|“扫黄打非”部门查处互动作业、纳米盒等20多个学习类App
    一个docker容器中运行多个服务还是弄一堆docker容器运行?
    手机app有了短信验证码还有没必要有图片验证码?
    2019年微服务实践第一课,网易&谐云&蘑菇街&奥思技术大咖深度分享
    1月第1周业务风控关注| 国家网信办启动专项行动 剑指12类违法违规互联网信息
  • 原文地址:https://www.cnblogs.com/wddx5/p/12337807.html
Copyright © 2020-2023  润新知