嵌入式-基础一

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命令取消关机
原文地址:https://www.cnblogs.com/wddx5/p/12337807.html