admin管理员组

文章数量:1652208

linux与windows中隐藏文件的区别:
linux的隐藏文件以 .开头    windows 用属性来隐藏文件

linux下建议安装的小企鹅输入法:fcitx ,软件开发者Yuking
安装命令:sudo apt-get install fcitx-pinyin

绝对路径与相对路径:
win的绝对路径,从硬盘符开始,如C:\windows\system32   要切换不同盘的根目录,直接输入 比如E:就会进入E盘根目录
linux的绝对路径,从“/”开始 ,如/root/home          
相对路径是从当前文件开始的,要从当前目录比如root,进入次级目录home,则键入命令 cd home  
基本符号释义:
.       : 表示当前目录
..       :上一层目录,当前目录的父目录,比如book文件夹中的can文件夹,就是父子关系
-       : 前一个目录,从其他目录通过cd命令直接过来,不一定父子关系 ,比如cd - 回到前一个目录
~       : 当前用户的宿主目录,类似windows 的我的文档。是操作系统为当前用户设计的存放文件工作的默认目录。注:普通linux用户的宿主目录在/home/username/后面。对root用户来说,在/root,可以通过cd ~回到宿主目录
/       : linux根目录,比如回到系统跟目录【cd / 】
$      : 普通用户的命令行提示符
#      : root用户的命令行提示符
*       : 万能匹配符,比如rm ab*,就是删除当前文件夹中ab开头的文件,rm *就是删除当前文件夹中的全部内容

临时切换到root用户命令 sudo su 然后输入用户密码
退出root用户命令 exit ,如果用cheese连接的相机后台运行的话,可能无法退出,关闭cheese软件后可正常退出


cd      :【change directory】更改、切换目录 (文件夹)
cd ..  :返回上一层,cd ../..返回上上层,cd ../../..返回上上上层....命令为:cd ../abc/  意思为从当 前目录返回上一层目录并进入到上一层目录里的abc文件夹
ls      :【list,列表 】列出/查看目录中的文件
ls -a  :【a=all】显示所有文件,包括隐藏文件
ls -l   :显示详细信息  ,或者用两个l,即命令行输入“ll”显示详细信息
      ls -l 命令查看的内容信息解析,显示的文件列表头部有10个字符=1+3+3+3,含义如下:
      【第1个字符为文件类型,后面9个为文件权限】
     文件类型含义如下:
      d ——directory,表示文件夹
      l  ——link,表示符号连接文件(即快捷方式),后面会用->指示出它所指向的文件
      -  ——表示普通文件,其中硬链接命令创建的就是普通文件。
      s  ——表示socket文件
      p  ——pipe表示管道文件,进程间通信用
     文件权限解析如下:
      前3个字符,表示此文件的属主,对文件的权限。属主就是拥有者
      中3个字符,表示此文件的属主所在的组,对文件的权限
      后3个字符,表示其他用户,对文件的权限
注:rwx与权限含义,r,read可读 ,w,write可写,x,excute可执行,-,无此权限

如果可执行文件hello.exe用./hello.exe无法执行,可先用ls -l命令查看该文件是否有x即可执行权限,如果没有,可用 chmod 777 hello  命令,增加当前目录中hello可执行文件的执行权限

which vi,查看系统中的编辑工具vi的路径 也可以用which vim等查看其他工具位置 
pwd   :【print working directory】打印当前工作目录(文件夹)

man   :查询man手册获得帮助信息,如man ls,显示ls支持的命令,其他应用方式如下
man 1 ls ,1代表查询的是linux命令
man 2 ls ,2代表查询的是linux的api
man 3 ls ,3代表c库函数

mkdir :  【make directory】创建空文件夹,级联文件夹  如 mkdir work  创建名为work的文件夹
mkdir -p abc/def :创建级联文件夹,创建了abc文件夹,同时abc中又创建了def文件夹
touch :创建空文件,如 touch 123.txt  在当前目录中创建名为123的文本文档,其他格式的文件如.c文件等雷同

mv :【move】在目录间移动文件,修改文件名/重命名
        格式为 mv 源文件pathname  目的文件pathname   【注:pathname 就是全路径】如 mv abc/work.txt ./work.txt   就是把abc中的work文件移动到当前目录中,.是当前文件夹。再如,mv  abc.txt  aaa.txt 这种情况当前文件路径没变,把abc移动到aaa,就意味着名字被改成aaa了

cat : 【】直接在命令行下显示文件内容,适合文件内容比较少的文件,内容多用vi打开
          如 cat hello.txt  查看hello这个文本文档内容

vi编辑器的使用【查看/编辑文档】,vi和vim的联系,linux的编辑器有vi,vim,gedit,建议用vim
vi,没有鼠标的年代创造的,全键盘流操作,如vi work.txt 打开文档,然后先按a,i或o进入普通编辑模式,完成编辑后按esc  退出编辑,再按:之后,输入wq保存退出 
vim,是vi的升级版,适配鼠标时代,推荐用vim,【若没有,则用 sudo apt-get install vim 安装】

vi的两种工作模式:命令模式,输入模式
刚打开文件默认处于命令模式,需要按a或者 i 键转入输入模式,按esc退出输入,进入命令模
在打开的文档内进行操作:
查找内容
:命令模式下输入/内容,查找内容,比如/world ,查找world
快速切换行:命令模式下“:数字”,比如,:100  回车后,光标移动到100行首
显示行号:命令模式下 :set nu  
不显示行号:命令模式下:set nonu  
设置永久显示行号:需要修改vi的配置文件,目录在~/.vimrc  ,首先用命令 vi ~/.vimrc  打开这个文件,输入 set nu 保存退出即可
整行删除,打开一个文本文档,需要删除某一行内容,进入命令行:3,选择第三行,然后输入dd,删除此行,用鼠标,键盘选择要删除的行也行。
删除连续多行,选中要选择n行中的第一行,输入ndd,比如删除3行,输入3dd,从上往下删除
复制内容:命令模式下,nyy  比如3yy,就是复制3行,从上往下复制,光标应该在复制内容的第一行
粘贴内容:命令模式下p。是往当前光标所在行的下一行粘贴。
注:如果复制程序时有行号会很麻烦,此时需要关闭行号显示 :set nonu 先关闭再复制
如果要保存编辑后的文档,需要按【esc键】退出输入模式,即进入命令模式,然后在命令模式下先输入:然后输入wq即可保存后退出,【注:w保存,q退出】
wq最常用
:w 只保存,不退出
:q 只退出,不保存
:q!强制退出
:wq!保存并强制退出
编辑过程中需要临时退出,按 Ctrl+Z
需要再次对刚才退出的文件进行编辑,在终端中输入命令 FG
退出当前执行的程式  Ctrl+C

cp:【copy】复制粘贴文件或文件夹,跟mv接近  
        格式:cp 源文件pathname  目标文件pathname   【注:pathname 就是全路径】
       cp -r 复制文件夹
       cp -f 强制复制,就是会覆盖掉同名文件,要小心。
       例,cp abc.txt ../123.c,将abc内容复制到上一级目录的123.c文件中
      一般应用时,cp -f 复制文件   cp -rf 复制文件夹  为啥一般应用是都加f,因为如果已经有了重名文件,复制动作就停止了,而且没有提示,也就是没有执行复制动作。所以用强制复制,就是有重名的也复制并强制覆盖,但强制复制有风险,可能会覆盖掉重名文件的重要信息,要注意。

rm  :【remove,去除,删除】删除文件,文件夹   
      格式 rm 文件pathname  如果被删的文件不存在,则会提示警告信息
rm -r 文件夹pathname  删除目录及其内容,但系统会询问用户是否确认删除
rm -f 文件/夹pathname 强制删除就是当被删除文件不存在时,不提示错误,也没有错误返回值,不影响运行。
rm *   删除当前文件夹全部内容
rm -r abc/   删除文件夹abc中的内容

rmdir:【remove directory】只能删除空文件夹,有内容则删不了 有内容的文件夹可以用 rm -rf 文件夹pathname 删除

ln :【link】连接文件,类似windows的快捷方式,创建一个图标指向某个目录的文件或文件夹
linux的连接文件分为【软连接】和【硬链接】两种。
软连接:用-s  即symble 符号,也就是符号连接,格式为 ln -s  源文件 符号连接文件
例,ln -s  hello.c  test.c  其中,test.c就是hello.c的符号连接,删除test.c 不影响hello.c文件
硬链接无 -s     格式为  ln  源文件 符号连接文件
区别是:软连接有主从关系,源文件为主,连接文件为从,删除主文件,从文件就成了一个指向空的图标,没有意义了。但硬链接创建的从文件,是平等关系,删除主,从就会变为主。硬链接无论创建多少个从文件,其实硬盘上只有一个源文件,不同名字的重文件都连接在上面,相当于源文件具备了被删除n次的能力。无论删除哪个,只要还有源文件或者从文件没删除,就不会真正删除掉该文件。类似复制命令,但实际不同,复制命令,是在硬盘创建了2份文件,而硬链接不同,只有一个本体,其他都是虚拟分身。以上仅为概略说明,实际并非如此,而是跟引用计数有关。

apt-get,ubuntu中用来在线安装卸载软件的命令 【Advanced Package Tool (APT)】
类似360软件中心,服务器创建了一个列表,筛选出了适配当前系统可以安装的程式,让安装简单化。避免了因为linux版本内核不同造成的各种安装异常问题。
安装:apt-get install qq,安装前建议先更新apt ,命令是:sudo apt update 注意:前提是在线才能操作,也就是联网才行。
卸载:apt-get remove qq
安装虚拟机中的ubuntu扩容软件,带界面  sudo apt install gparted  

linux用户
普通用户:多个,类似windows的guest,从普通用户切换到特权,su root 需要密码
特权用户:一个,类似windows的Administrator,特权切普通,su 普通用户名

用系统编译工具gcc编译hello.c文件   gcc  hello.c
用gcc编译后的文件进行自定义名字   gcc [options] [filenames] -o output_filename
-o之后是加我们自己给新生成文件起的名字
比如用gcc编译一个hello.c文件,编译后的文件名字为 test,则命令是 gcc hello.c -o test

用安装在其他文件夹下的第三方编译工具编译.c文件   sudo /root/....../arm-himix200-linux-gcc  hello.c 
或者直接用arm-himix200-linux-gcc hello.c   如果记不住这么长的编译器名字,可以先输入arm然后按Tab键,会提示arm开头的所有文件或路径名

查看编译过程中,不同阶段的编译结果
-E 预处理后停止,比如用命令 gcc -E hello.c -o hiall.i  此命令作用:用gcc命令 执行hello.c文件时,在预处理后,停下来,并将处理结果存放到“*.i”文件里,-E就是预处理后停下来,E要大写,预处理后的文件名后缀为i    -o 后面是新生成的文件的文件名
-S 编译结束后停止 文件名后缀为.s ,如果不用-o 指定新生成的文件名,就用源文件名.s
-c 汇编结束后停止 

./ 运行可执行文件命令  比如运行当前目录中的hello.run文件,命令为  ./hello.run

如果提示没有执行权限,可以用ls -l查看该文件的权限,如果没有执行权限,需要提升权限

chmod 提升权限命令 chmod a+x hello.run 
其中,a代表所有用户组,包括root,文件拥有者用户组,其他用户组。
+x 执行权限 +r阅读权限 +w写入权限

提升后,再用ls -l命令查看是否提升成功

----------------------------------------------------------------------------------------------------------------------

海思3516 linux系统下,
查看u盘分区
ls /dev/sd*   可以查看dev文件夹里有sda,sda1等分区,sda1就是u盘扇区

挂载u盘
mount -t vfat /dev/sda1 /mnt/usbdisk/    
vfat是u盘格式fat32
/dev/sda1是u盘扇区,注意sda1后面有空格隔开,解析文件系统上的设备
/mnt/usbdisk/是u盘挂载点,

【dev为device设备,u盘挂载在dev文件夹的sda1里的mnt里的usbdisk中,打开usbdisk就是u盘内容】

**********************************************************************************************

1. 格式化规定符
Turbo C2.0提供的格式化规定符如下:
━━━━━━━━━━━━━━━━━━━━━━━━━━
符号 作用
——————————————————————————
%d 十进制有符号整数
%u 十进制无符号整数
%f 浮点数
%s 字符串
%c 单个字符
%p 指针的值
%e 指数形式的浮点数
%x, %X 无符号以十六进制表示的整数
%0 无符号以八进制表示的整数
%g 自动选择合适的表示法
━━━━━━━━━━━━━━━━━━━━━━━━━━
说明:
(1). 可以在"%"和字母之间插进数字表示最大场宽。
例如: %3d 表示输出3位整型数, 不够3位右对齐。
%9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,
小数点占一位, 不够9位右对齐。
%8s 表示输出8个字符的字符串, 不够8个字符右对齐。
如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。
但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出;
若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。
另外, 若想在输出值前加一些0, 就应在场宽项前加个0。
例如: %04d 表示在输出一个小于4位的数值时, 将在前面补0使其总宽度
为4位。
如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度,
小数点前的数字代表最小宽度。
例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9, 则
第9个字符以后的内容将被删除。
(2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。
例如: %ld 表示输出long整数
%lf 表示输出double浮点数
(3). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可
说明输出为左对齐, 否则为右对齐。
例如: %-7d 表示输出7位整数左对齐
%-10s 表示输出10个字符左对齐

X 表示以十六进制形式输出
02 表示不足两位,前面补0输出;
举例:
printf("%02X", 0x123);  //打印出:123
printf("%02X", 0x1); //打印出:01

% d, % D, % i为32位整型数(int) ,% li 长整型,%ld长整型输出,
% lld 64位长整数(long long)
% llu 无符号64位长整数
% Lf 64位双数
% %: 为'%'字符;
% u, % U: 为32位无符号整型数(unsigned int);
% hi: 为有符号的16位整型数(short);
% hu: 为无符号的16位整型数(unsigned shord);
% qi: 为有符号的64位整型数(long long);
% qu: 为无符号的64位整型数(unsigned long long);
% x: 为32位的无符号整型数(unsigned int), 打印使用数字0 - 9的十六进制, 小写a - f;
% X: 为32位的无符号整型数(unsigned int), 打印使用数字0 - 9的十六进制, 大写A - F;
% qx: 为无符号64位整数(unsigned long long), 打印使用数字0 - 9的十六进制, 小写a - f;
% qX: 为无符号64位整数(unsigned long long), 打印使用数字0 - 9的十六进制, 大写A - F;
% 02x: 表示不足两位,前面补0输出;如果超过两位,则实际输出
% .2x:效果和 % 02x相同 ( % 02x = % .2x)
% 2x:表示数据不足两位时,前面补空格; 如果超过两位,则实际输出
% -2x:表示数据不足两位时,后面补空格; 如果超过两位,则实际输出
 
% o, % O: 为32位的无符号整数(unsigned int), 打印八进制数;
% f: 为64位的浮点数 默认情况下保留小数点6位(double);
% .100f用来输出实数,保留小数点100位。
% e: 为64位的浮点数(double), 打印使用小写字母e, 科学计数法介绍了指数的增大而减小;
% E: 为64位的浮点数(double), 打印科学符号使用一个大写E介绍指数的增大而减小;
% g: 为64位的浮点数(double), 用% e的方式打印指数, 如果指数小于4或者大于等于精度, 那么% f的风格就会有不同体现;
% G: 为64位的浮点数(double), 用% E的方式打印指数, 如果指数小于4或者大于等于精度, 那么% f的风格就会有不同体现;
% L: 在明确规定的长度下, 进行修正, 下面的一批数据a, A, e, E, f, F, g, G应用于双精度长整型的参数;
% a: 为64位的浮点数(double), 按照科学计数法打印采用0x和一个十六进制数字前使用小写小数点p来介绍指数的增大而减小;
% A: 为64位的浮点数(double), 按照科学计数法打印采用0X和一个十六进制数字前使用大写字母小数点P界扫指数的增大而减小;
% F : 为64位的浮点数(double), 按照十进制表示法进行打印;
% c: 为8位的无符号字符 % c(unsigned char), 通过打印NSLog()将其作为一个ASCII字符, 或者, 不是一个ASCII字符, 八进制格式\ddd或统一标准的字符编码的十六进制格式\udddd, 在这里d是一个数字;
% C: 为16位Unicode字符 % C(unichar), 通过打印NSLog()将其作为一个ASCII字符, 或者, 不是一个ASCII字符, 八进制格式\ddd或统一标准的字符编码的十六进制格式\\udddd, 在这里d是一个数字;
 
% s: 对于无符号字符数组空终止, % s系统中解释其输入编码, 而不是别的, 如utf - 8;
% S: 空终止一系列的16位Unicode字符;
% p: 空指针(无效*),打印十六进制的数字0 - 9和小写a - f, 前缀为0x;
% z : 修改说明在 % z长度以下d, i, o, u, x, X适用于某一指定类型的转换或者适用于一定尺寸的整数类型的参数;
% t: 修改说明在 % t长度以下d, i, o, u, x, X适用于某一指定类型或一定尺寸的整数类型的转换的参数;
% j: 修改说明在 % j长度以下d, i, o, u, x, X适用于某一指定类型或一定尺寸的整数类型的转换的参数
 
% @对象
% p 指针


2. 一些特殊规定字符
━━━━━━━━━━━━━━━━━━━━━━━━━━
字符 作用
——————————————————————————
/n 换行
/f 清屏并换页
/r 回车
/t Tab符
/xhh 表示一个ASCII码用16进表示,
其中hh是1到2个16进制数
————————————————

                            
                        
原文链接:https://blog.csdn/lincyang/article/details/6252443

本文标签: 指令学习笔记Linux