(创建于2017/8/13)

system命令(命令行)

1.calc 打开计算器
2.control 打开控制面板
3.system("start calc");//执行打开计算器的动作(这些命令都可以这样调用)
4.%x 代表用十六进制打印整数
5.gcc -o b a.c -o用于指定文件名,执行后生成的文件名为b
6.POSIC 编译规范,windows和linus同样代码编译结果可能不同,导致程序移植问题,所以
用linux系统,代码移植性良好7.c语言编译过程
预编译 .c文件
编译
链接 可执行程序gcc -E -o a.e a.c -E预编译a.c文件生成名字为a.e的文件 E表示预编译
预编译的功能
1把头文件内容原封不动包含进来,同时将代码中没用的部分删除8.使用头文件
\#include<XX>表示让编译器去系统目录下找头文件,调用系统头文件
\#include“XX”表示让编译器去当前目录下找头文件,调用自己写的头文件9.gcc -S -o a.e a.c -S表示汇编 将c语言转化为汇编语言
c语言代码
int a;
int b;
int c;
a=1;
b=2;
c=a+b;
转换为汇编语言就是
__asm
{mov a,1;  //把1放入amov b,2;  //把2放入bmov eax,a; //把a值放入cpu寄存器中mov eax,b;//把b值放入cpu寄存器中和a值相加后继续放入寄存器中mov c,eax; //把寄存器中值放入c
}10. gcc -c -o a.e a.c  -c表示编译,将代码编译为二进制的机器指令
11. gcc没有任何参数,代表就是链接,将库和目标文件打包
12.RISC :精简指令集CISC :复杂指令集x86架构的cpu都是复杂指令的 Linux就是基于x86的操作系统20%的指令为常用指令,在一个程序执行的时候会调用比例达到80%但80%指令为不常用指令,在一个程序执行的时候调用比例为20%

文件管理

1)查看文件信息 ls

ls -a :a就是all的简写,这样会打印出所有文件包括隐藏文件.xxls -h :h是human的简写,意思就是以人类可读的方式打印,通常只文件大小的显示格式,比如加上-h会以KB的形式显示而不是可读性差的字节显示ls -l :l是list的简写,指以列表的形式显示文件信息ls和通配符结合使用可以指定查找条件
ls ?.c :显示当前文件夹下所有以.c为结尾,前边只有一个字符的文件,?表示一个字符ls [1-9].c :表示查找.c结尾,前边只有一个数字并且这个数字是1到9之间任意数字的文件

2)输出重定向>,一般和其他文件操作命令结合使用

ls > a.txt:表示将当前目录文件信息输出到a.txt文件中,如果文件存在,覆盖原有文件中的内容,如果文件不存在,则创建文件ls >> a.txt: 和单个>的区别在于,这个操作不会覆盖原有文件内容,而是追加在后边

3)more 分屏显示

查看文件内容时,在信息过长无法在一屏上显示时,会出现快速滚屏
,导致无法看清文件,使用more命令,每次只显示一页,按下空格键
可以显示下一页,按q键退出显示,按h键可以获取帮助如查看index.html文件
more index.html
  1. 管道 |:一个命令的输出通过管道作为另一个命令的输入,通俗来说,可以理解为管子,在管子的一头放入东西,在另一头取出来使用
ls | grep  std :命令表示将当前目录的文件信息放入管道,另一端对这些
信息进行筛选,得到列出来以std开头的文件,std不是命令,只是筛选
关键字

5)清屏:clear

clear作用为清楚终端上的显示,类似dos的cls清屏功能,也可以使用快捷键:Ctrl+l(l是字母L不是1)

6)切换目录cd

cd /home :进入根目录home,前边加/表示根目录,绝对路径
cd home:进入当前目录中的home文件夹,相对路径
cd  直接输入cd什么都不加,会切换到当前用户主目录,用户登陆的时候默认的目录就是用户主目录
cd ~ 也是切换到用户的主目录
cd . 切换到当前目录
cd .. 切换到上级目录
cd - 进入上一个进入的目录

7)当前目录pwd

输入pwd会打印出当前路径

8)创建目录 mkdir

mkdir ren 在当前目录创建文件夹ren
mkdir ren/ren  注意这样写必须是当前目录下已经有了一个ren,然后才可以在这个ren里边创建一个ren,如果当前目录没有ren会创建失败,这时候可以使用-p递归创建目录
mkdir -p ren/ren

9)删除目录rmdir,只能删文件夹

rmdir ren 注意如果ren不是个空目录则会删除失败

10)rm删除,可以删文件或者文件夹

rm -i ren.txt 以进行交互的方式执行删除命令,会有提示
rm -f ren.txt  强制删除,忽略不存在的文件,无需提示
rm -r  ren 递归的删除目录下的内容,删除文件夹必须加-r标志
rm * -rf 这是一个非常危险的命令,会删除所有的东西并且没有提示,注意小心使用

11)建立链接文件:ln

Linux链接文件相当于Windows下的快捷方式
软链接:
1.类似Windows的快捷方式,软链接依赖于源文件存在
2.如果源文件删除,软链接没有意义
硬链接:
1.给某个文件拷贝一份,这两个文件独立占用内存,
2.改变其中一个文件,会影响到另一个文件
3.删除某一个硬链接文件,不会影响另一个ln 源文件 链接文件(硬链接)
ln ren.txt a.txtln -s 源文件 链接文件(软链接)
ln -s ren.txt a.txt

12)cat 文件名 查看一个文件内容

cat ren.txt 会显示ren.txt中的内容

13)grep 文本搜索(在一个文本中搜索关键字),查找过滤

grep a ren.txt 从ren.txt文件中查找含有a的东西,比如单词句子等,列出来,这样是大小写敏感的
grep a ren.txt -i 大小写不敏感,会将大小写都查出来
grep '1 2 3' ren.txt -ni   把1 2 3当作一个整体查找,显示行号,大小写敏感,如果不加引号,不会把它当作整体

14)find 查找文件,在一个目录中查找文件的名字

find ./ -name ren.txt :./表示当前目录 -name表示查找文件名find ./ -name '*.txt' :查找当前目录下所有后缀为.txt的文件
(目前在mac上尝试的结果是搜索的关键词加上‘’或者“”和不加引号的效果是差别非常大的不加引号,会搜索当前同一目录下符合条件的文件,但是如果加上单引号或者双引号,会搜索党当前目录下和当前目录下的子目录下的所有符合条件的文件,会遍历所有的文件)find ./ -name "[A-Z]*" :查找当前目录下所有大写字母开头的文件
find /tmp -size 2M :查找tmp目录下等于2M的文件
find /tmp -size +2M :查找tmp目录下大于2M的文件
find /tmp -size -2M :查找tmp目录下小于2M的文件
find /tmp -size +4k -size -5M :查找tmp目录下大于4k小于5M的文件(k是小写,M是大写)
find ./ -perm 0777 :查找当前目录下权限为777 的文件或目录(0777中0表示八进制)

15)拷贝文件cp
cp命令功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令

(在mac中测试发现 -a -r 等要放在cp后边 文件前边)
cp -a ren/ ren2/ :将目录ren拷贝到ren2中,复制目录时使用-a选项,可以保留链接,文件属性,并递归的复制目录,简而言之,保持文件原有属性
cp -f ren.txt ren2.txt  :删除已经存在的目标文件而不提示,当目标文件ren2.txt存在时,直接覆盖,不提示用户
cp ren.txt ren2.txt : 覆盖文件时提示用户确认
cp -r  ren ren2 :若给出的原文加是目录文件,则cp将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
cp -v ren.mp4 ren2.mp4 :显示拷贝进度
命令组合使用
cp -ivr ren ren2  : 拷贝目录ren到ren2中(包括ren这个目录,会在ren2目录下重新创建一个ren文件夹),提示用户是否覆盖显示拷贝进度,递归的复制

16)移动文件mv
移动文件同样具有三个常用选项
-f 覆盖不提示
-v 显示进度
-i 覆盖要提示

mv ren.txt ren :移动文件ren.txt到目录ren下
mv ren.txt ming.txt :移动ren.txt到当前目录下并重命名为ming.txt
  1. file查看文件类型
    Linux系统文件类型不是根据文件扩展名分类的,通过file可以查看文件类型
格式:file 文件名
会告诉你这个文件是可执行文件还是普通文本文件

17)归档管理:tar(常用选项可以不加- 如 tar cvf xxx)
tar命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开恢复数据,相当于备份和恢复,注意归档没有压缩的操作,也不存在解压缩

打包:tar -cvf xxx.tar yyy(需要打包的文件,可以是多个 空格隔开,-c表示打包,-v表示显示进度,-f表示后边的是文件)
解包:tar -xvf xxx.tar(要被解包的文件)    不指定路径,默认解包到当前路径
解包并指定解包路径:tar -xvf xxx.tar -C ../dir    指定路径必须在前边加-C(大写)

18)压缩:gzip

gzip aaa.tar :压缩aaa.tar 在当前路径得到aaa.tar.gz (这个后缀是不是很熟悉)

19)查看目录大小:du

du -h ./jni    查看jni目录大小,以可读方式显示

20)解压:gzip -d

gzip -d xxx.tar.gz :解压缩在当前目录得到xxx.tar

21)压缩打包

tar -czvf xxx.tar.gz xxx(所需文件)(f一定是放在最后边,加了个z就可以压缩了)

22)解压解包

tar -xzvf xxx.tar.gz        到当前目录

23)文件压缩打包bzip2(和gzip一样都是压缩)

tar 与 bzip2命令结合使用实现文件打包压缩(用法和gzip一样)
tar只负责打包文件,不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxx.tar.bz2
用tar命令增加一个选项(-j)可以调用bzip2实现一个压缩功能,实现一个先打包后压缩的功能压缩:tar -jcvf 压缩包包名 文件 (tar -jcvf bk.tar.bz2 *.c)
解压:tar -jcvf 压缩包包名 (tar jxvf bk.tar.bz2)

24)文件压缩解压:zip unzip

通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名zip
压缩文件:zip -r (必须加此参数) 目标文件(没有扩展名) 源文件
解压文件: unzip -d 解压后目录文件 压缩文件

25)which 查看命令位置

which ls : 输出命令ls的命令位置 /bin/ls

用户管理

01)查看当前系统账户用户名 whoami
02)查看登录过的用户who / w 显示登录过的用户的时间等信息
03)退出登录 exit

如果是图形界面,退出当前终端
如果是使用ssh远程登录,退出登录账户
如果是切换后的登录用户,退出则返回上一个登录账号

04)切换用户su

可以通过su命令切换用户,su后面可以加“-”,su和su - 命令不同之处
在于,su - 切换到对应的用户时会将当前的工作目录自动转换到切
换后的用户主目录su : 切换到root用户
su root : 切换到root用户
su - :切换到root用户,同时切换到目录/root
su 普通用户 切换到普通用户
su -普通用户 切换到普通用户,同时切换到 普通用户所在目录
切换差别.png

05)添加删除组账号:groupadd groupdel

groupadd 新建组账号
groupdel 删除组账号
cat /etc/group 查看用户组

06)修改用户所在组

使用方法:usermod -g 用户组 用户名
sudo usermod -g admin ren :sudo以管理员权限执行

07)添加用户useradd或者adduser

adduser命令是指向useradd命令的一个链接,因此使用完全一样
useradd [参数] 新建用户账号-d <指定的用户主目录>  如果不使用这个参数系统自动在/home目录下建立与用户名相同的目录为主目录
-m 自动建立目录
-g 指定组名称useradd -d /home/user adc -m :添加用户adc 并且设置abc的主目录为/home/user,-m表示的意思就是如果user不存在,自动创建

08)删除用户userdel

sudo userdel hello
userdel adc 删除abc但不会删除用户的主目录
userdel -r abc 删除用户的同时删除用户主目录

09)last查看用户最后登录时间
10)修改文件权限:chmod

有两种使用格式:字母法与数字法
字母法:chmod u/g/o/a +/-/= rwx 文件
u:user表示该文件的所有者
g:group 表示与该文件的所有者同属于一组者,即用户组
o:表示其他以外的任
a: all表示这三者都是
+:增加权限
-:撤销权限
=:设定权限chmod u+x 1.c :表示给u(user)增加执行的权限
chmod g-x 1.c:表示撤销组内成员执行的权限
chmod o=rwx 1.c : 给其他设置可读可写可行执行的权限数字法:
---
000  0 表示没有任何权限r--
100 4 表示有读的权限-w-
010 2 表示有写的权限--x
001 1 表示有执行权限rw-
110 6 表示有读写权限rwx
111 7 表示有读写执行权限文件夹权限说明:
x:文件夹如果没有此权限,不允许用户进入
r: 文件夹如果没有此权限,无法查看文件夹内容,无法ls
w:没有这个权限,无法新建或删除文件

11)修改文件所有者:chown

使用方法:chown 用户名 文件或目录名
chown edu 1.txt 修改1.txt文件的所有者为edu ,如果不被允许,可以加上sudo 执行

11)修改文件所属组:chgrp

sudo chgrp root 1.c :修改1.c所属组为root

系统管理

01)查看当前日历:cal

cal 命令用于查看当前日历,-y显示整年日历

02)显示或设置时间:date

  1. 查看进程信息:ps
-a 显示终端上所有进程
-u 显示进程的详细状态
-x 显示没有控制终端的进程
-w 显示加宽,以便显示更多的信息
-r 只显示正在运行的进程ps -aux | grep gedit : 显示gedit进程信息

04)动态显示进程: top
05)终止进程:kill

kill -9 4173 :强制关闭id为4173的进程

06)后台程序 & jobs fg

用户可以将一个前台程序调入后台执行,方法为:命令 &,比如hello 是一个可执行程序,我将它调用后台 hello &
如果程序已经在执行,ctrl+z可以将它调入后台
jobs查看后台运行程序
fg编号(编号为通过jobs查看的编号)将后台程序调出到前台

07)关机重启:reboot shutdown init

reboot :重启操作系统
shutdown -r now 重启操作系统,shutdown会给别的用户提示
shutdown -h now 立刻关机,其中now相当于时间为0的状态
shutdown -h 20:23 系统将在20:25关机
shutdown -h +10 系统十分钟后关机
init 0 关机
init 6 重启

08)检测磁盘空间:df

-a 显示所有文件系统的磁盘使用情况
-m 以1024字节为单位显示
-h 以K M G为单位,提高信息可读性

09)检测目录所占磁盘空间:du

du [选项] 目录或文件名
-a 递归显示指定目录中个文件和子目录中文件占用的数据块
-s 显示指定文件或目录占用的数据块
-b 以字节为单位显示占用情况
-h 以K M G为单位,提高信息可读性

10)查看或配置网卡信息:ifconfig(和Windows中ipconfig类似)
11)测试远程主机连通性:ping ip地址

编辑器vi

vi是Linux中最常用的编辑器,vim是vi的升级版,公认的vi中最好的一个
01)打开文件 vi filename

打开或新建文件,并将光标置于第一行行首,如果文件不存在会创建

02)保存文件:shift + zz(其实就是按两次大写Z)(编辑模式下按esc退出到命令模式,然后按这个)

新建一个文件如果什么都不写,是无法保存的
03)编辑文件,命令模式下,按i进入编辑模式
04)强制退出不保存:

:q!

05)退出保存

:wq

06)vi的一些常用快捷键

F9:显示侧栏
\p< :头文件
\im :生成一个main函数
\ip :生成一个printf
ctrl+n:显示历史写的代码

07)vi的set指令

:set ic 搜索时忽略大小写
:set noic 搜索时不忽略大小写
:set nu 显示行号
:set nonu 不显示行号

远程操作

。。。。

t

01.C(Linux命令)相关推荐

  1. 大数据之路系列之Linux命令(01)

    大数据之路系列之Linux命令(01) 提示:常用Linux命令合集 第一章 Linux命令 Linux命令 大数据之路系列之Linux命令(01) 一.文件查看 1.查看当前目录 2.列出所有文件 ...

  2. 常用Linux命令总结

    常用Linux命令总结 2013-12-08 压缩为gz格式 gzip error_2018082217.log 解压gz格式 gzip -d error_2018082217.log.gz 不解压来 ...

  3. linux那个11命令是什么意思,11个有用的Linux命令

    11个有用的Linux命令,命令,代码,文件,行号,文件夹 11个有用的Linux命令 易采站长站,站长之家为您整理了11个有用的Linux命令的相关内容. Linux命令行吸引了大多数Linux爱好 ...

  4. 关于tail, head ,less ,more ,cat 之小介------Linux命令

    前言:Linux命令在项目中是经常用,查看日志信息是一个不可缺少的指令.一般都是用Less,more,tail,head,cat 这些命令  目前是足够的. 很久不用就会忘记.现在简单写一写. ①ta ...

  5. 文件节点的linux指令,Java工程师必学的Linux命令(一)文件与目录管理

    从本篇文章开始,我将总结一些Java工程师日常研发工作中会使用到的Linux命令,在介绍这些命令的过程中,也会对Linux系统的一些基础知识进行普及.希望对大家工作和学习有所帮助吧. 本篇将从文件与目 ...

  6. linux命令学习(转)

    查询命令的地方:man.linuxde.net/ Linux必学的60个命令 Linux提供了大量的命令,利用它可以有效地完成大量的工 作,如磁盘操作.文件存 Linux提供了大量的命令,利用它可以有 ...

  7. linux 命令 读phy_CentOS教程(七)- 常用命令使用介绍(上)

    "一切皆文件"是Linux的基本哲学之一.普通的文件.目录.设备等一切"东西"在Linux中均是以文件形式展现. 好的,让我们来记住上面引言的话: 一切皆文件 ...

  8. 【Linux就该这么学 20期培训笔记 02】新手必须掌握的 Linux 命令

    本章知识点 强大好用的SHELL 执行查看帮助命令 常用系统工作命令 系统状态检测命令 工作目录切换命令 文本文件编辑命令 文件目录管理命令 打包压缩与搜索命令 Linux命令大全(手册) 强大好用的 ...

  9. 每天一个linux命令(21):find命令之xargs

    每天一个linux命令(21):find命令之xargs 在使用 find命令的-exec选项处理匹配到的文件时, find命令将所有匹配到的文件一起传递给exec执行.但有些系统对能够传递给exec ...

最新文章

  1. c语言N*N的二维数组,c语言高手帮个忙(请先看问题,好解答
  2. 数据库索引-基本知识
  3. 这是我见过的GAN的最佳用法!
  4. 安卓手机充电慢_3.0适用苹果安卓手机充电器头
  5. CentOS5.4下安装和配置Apache、PHP、MySql、PHPMyAdmin
  6. Filter责任链模式
  7. GitHub 标星 14000+,阿里开源的 SEATA 如何应用到极致?
  8. mysql对结果限制_在查询中限制MySQL结果
  9. FPGA双沿发送之Verilog HDL实现
  10. linux如何批量清理文件大小,Linux下自动清理超过指定大小文件的方法
  11. 从h264码流中获取图像的宽高---版本2(简洁版)
  12. win11任务栏怎么隐藏 Windows11隐藏任务栏的设置方法
  13. json.stringify php,JSON.stringify()用法介绍
  14. 关于BPSK、QPSK的一些理解,以及MATLAB实现
  15. Hello CTP(二)——CTP简介
  16. 原装苹果手机_“苹果”手机换个屏水这么深!嘉兴警方揭开“原装屏”背后真相...
  17. pdf编辑器免安装版_墙裂推荐!功能强大的PDF编辑器最新免安装版!
  18. 打补丁文件时候patch -p1命令的含义
  19. cogs 740 分配问题
  20. 不宜猥琐惊世人 猥琐哥横空出世

热门文章

  1. 关于JavaScript中cookie的用法的例子
  2. 算法分析与设计 —— 贪心算法「活动安排」「背包问题」「哈夫曼编码」
  3. 图像处理基本算法之空间域图像增强
  4. html拼接html内容,JavaScript如何避免拼接html字符串?
  5. 第1关:HDFS的基本操作
  6. 在函数中修改成员变量字符串和数组,它们的值会发生变化吗
  7. Java深入 - servlet和Spring的DispatcherServlet详解
  8. OA办公自动化系统~~~SSM整合开发
  9. 电脑显示服务器负载信息失败,线上服务mcelog负载异常分析处理流程
  10. 项目部署到weblogic后页面乱码问题