C 语言—基础命令

VMware Workstation虚拟机软件:打开一个已经安装了ubuntu或deepin或其他操作系统的虚拟机,如下图所示:


在虚拟机和宿主机切换鼠标:ctrl + alt;

ubuntu是一个桌面版的Linux系统;

shell终端 ,如下图所示:

打开一个shell终端:

  1. ctrl + alt + t:默认打开的路径是当前用户的家目录(~:代表家目录);
  2. ctrl + shit + n:在当前终端下打开一个相同路径的终端;
  3. ctrl + alt + enter:切换全屏;
  4. clear & ctrl + l:清屏;

shell命令:

  1. cd 目录:进入到某一目录下 ;
  2. cd ..:回到上一级目录 依次多次执行,肯定会回到根路径/,这是整个Linux文件系统的最顶层;
  3. cd:在任一目录下都可以直接回到家目录;
  4. cd ~:在任一目录下都可以直接回到家目录;
  5. cd -:回到上一次的工作目录;

TAB补齐 根据输入的首字母补齐,如果当前目录下存在以输入字母开头的多个文件的话,可以tab两下补齐,如果只有一个以输入字母开头的文件的话,只需要tab一次;

pwd:显示用户在文件系统中的当前位置,该命令没有任何选项和参数,命令执行结果显示为绝对路径名;

rm file:删除文件;rm /home/linux/file。rm dir -rf:删除文件夹 ;

touch file:如果file不存在,则创建一个空文件;如果file存在,更新file的时间戳。

cat file:在不打开文件的前提下查看文件内容;

mkdir:创建一个文件夹/目录;

  1. mkdir -p day01/model:如果希望创建多级目录;
  2. Linux的文件组织模式犹如一颗倒置的树,所有的目录或者文件都是挂载到根目录下的;

Linux世界中,一切皆文件;

[root@localhost /]# ls
bin  boot  dev  etc  home  lib  lib64  mnt  opt  proc  root  run  sbin  srv  sudo  sys  tmp  usr  var
[root@localhost /]# ls -la
总用量 16
dr-xr-xr-x.  19 root root  266 11月 15 15:08 .
dr-xr-xr-x.  19 root root  266 11月 15 15:08 ..
lrwxrwxrwx    1 root root    7  3月  6  2021 bin -> usr/bin
dr-xr-xr-x.   6 root root 4096 11月  1 14:22 boot
drwxr-xr-x   20 root root 3920 11月 15 10:31 dev
drwxr-xr-x  106 root root 8192 11月 15 14:47 etc
-rw-r--r--    1 root root    0 11月  1 13:54 .exectl_all
drwxr-xr-x    3 root root   19 11月 11 17:43 home
lrwxrwxrwx    1 root root    7  3月  6  2021 lib -> usr/lib
lrwxrwxrwx    1 root root    9  3月  6  2021 lib64 -> usr/lib64
drwxr-xr-x    2 root root    6  3月  6  2021 mnt
drwxr-xr-x    2 root root    6  3月  6  2021 opt
dr-xr-xr-x  205 root root    0 11月 15 10:30 proc
dr-xr-x---    5 root root  218 11月 15 14:51 root
drwxr-xr-x   25 root root  720 11月 15 10:31 run
lrwxrwxrwx    1 root root    8  3月  6  2021 sbin -> usr/sbin
drwxr-xr-x    2 root root    6  3月  6  2021 srv
dr-xr-xr-x   14 root root    0 11月 15 10:30 sys
drwxrwxrwt    9 root root  180 11月 15 15:08 tmp
drwxr-xr-x   12 root root  144 11月  1 13:52 usr
drwxr-xr-x   19 root root  264 11月  1 14:00 var

[root@localhost /]# tree
.
├── bin -> usr/bin				 # 放一些常用的程序
├── boot						# 启动文件,所有与系统启动相关的文件都保存在这里
├── dev							# 设备文件
├── etc							# 系统程序和大部分应用程序的全局配置文件
├── home						# 使用者个人家目录
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── mnt							# 常用挂载点
├── opt							# 第三方程序安装处
├── proc						# 显示系统状态文件
├── root						# 管理员家目录
├── run							# 存放系统运行时的临时数据
├── sbin -> usr/sbin			 # 管理员专用程序
├── srv							# 存放系统服务相关的数据
├── sys							# 用于提供内核对象的访问接口
├── tmp							# 临时文件
├── usr
│   ├── bin						# 放一些常用程序
│   ├── include					# C/C++ 头文件
│   ├── lib						# 存放32位库文件及兼容支持库文件
│   ├── lib64					# 存放64位架构的库文件
│   ├── local					# 一些自行安装的应用程序
│   ├── sbin					# 管理员专用程序
│   ├── share					# 一些共享文件等
│   ├── src						# 应用程序源代码
└── var
    ├── cache					# 程序执行所产生的暂存文件
    ├── lib						# 程序产生的数据文件存放处
    ├── lock -> ../run/lock		 # 锁定程序或设备专用
    ├── log						# 放置系统记录文件
    ├── run -> ../run			 # 执行的PID
    ├── spool					# 存放数据序列,如Mail等
    ├── www						# 预设网页放置处

ls:列出当前目录下所有文件, 命令与选项之间用空格分隔;

  1. ls -a:列出当前目录下所有文件,包含隐藏文件;
  2. ls -l:列出当前目录下所有文件(不包含隐藏文件)的详细信息;
  3. ls -l file:在Linux世界,不是以文件的后缀名区分文件的,是通过b、c、d、-、l、s、p这些字段来区分的;
  4. drwxrwxr-x:d目录,-普通文件;
  5. rwx:代表文件所有者(user)具有的权限,r读权限,w写权限,x可执行权限;
  6. rwx:代表同组用户(group)具有的权限,r读权限,w写权限,x可执行权限;
  7. r-x:代表其他用户(other)具有的权限,r 读权限,-没有写权限,x可执行权限;
ying@ying-VMware-Virtual-Platform:~/桌面$ ls -la
总用量 8
drwxr-xr-x  2 ying ying 4096 11月 15 14:31 .
drwx------ 20 ying ying 4096 11月 19 17:03 ..
.为当前路径;..为上一级路径;
cd day02 :切换路径到当前目录下的day02目录,这里省略了.,相当于cd ./day02;
cd  ../..:切换路径到上两级目录下,三级四级路径依次类推  ;

命令行提示符:username@hostname:direction$

ying@ying-VMware-Virtual-Platform:~/桌面$:
ying:用户名;
ying-VMware-Virtual-Platform:主机名;
冒号后的~/桌面:表示的是当前路径名;
$:代表是一个普通用户;
另:/home/ying表示当前用户ying的家目录;~表示家目录。

绝对路径与相对路径:

  1. 绝对路径:从根路径开始写全路径名,例如home/linux/Desktop;
  2. 相对路径:以某一路径作参照,相对于此路径在某个位置,例如`./Desktop``

cp:复制

  1. 复制文件
cp  file1   file2							  # 在当前目录下拷贝file1为file2
cp  file1  /home/linux						  # 拷贝当前目录下的file1文件到指定目录/home/linux下,文件名仍为file1
cp  file1  /home/linux/file2				   # 拷贝当前目录下的file1文件到指定目录/home/linux下,文件名为file2
cp  /home/linux/file1   /home/linux/Desktop		# 拷贝指定目录下的file1文件到指定目录/home/linux/Desktop下
  1. 复制目录:复制目录和复制文件类似,只不过要在最后加上-a;
cp  dir1  dir2  -a
cp  dir1 /home/linux  -a
cp  /home/linux/dir1   /home/linux/Desktop  -a

mv:移动

mv file new_file     # 把当前目录下的文件file重命名为new_file
mv file /home/linux     # 把当前目录下的文件file移动到/home/linux,当前目录下就没有原文件file,相当于剪切
mv /home/linux/file /home/linux/Desktop/new_file     # 把指定目录下的文件file移动到指定目录下,并重命名为new_file,原来目录下就没有原文件file,相当于剪切并重命名
mv dir1 dir2     # 重命名目录

编辑器

vi file file:文件不存在,新建一个文件,但是如果文件没有保存的话,不会实际创建file文件;

vi file:打开时进入一般模式,可以输入i切换到编辑模式,在编辑模式下就可以在文件中进行输入;o从光标所在的行的下一行开始插入,并切换到编辑模式;从编辑模式退出,可以用esc按键;通过输入:进入命令行模式

w           # 保存
wq        # 保存并退出
q            # 不保存退出
q!          # 强制退出,不保存
wq!       # 强制保存并退出

在一般模式下:

x		        	# 删除光标所在的一个字符
dd		    	# 删除光标所在的一行
p		        	# 粘贴
yy		    	# 复制光标所在的某一行
r		        	# 替换光标所在的字符,输入完r之后,直接跟上要替换的字符
1,5y	  	# 复制第一行到第五行

编写一个C程序vi HelloWorld.c:创建的c程序文件的后缀一定是.c

#include	//添加头文件
int main()	//主函数,程序的入口
{
    printf("Hello World!\n");
    return 0;
}
  1. 编译C程序:gcc编译器要求源程序的后缀名为.c。
  2. gcc HelloWorld.c:如果程序没有错误,默认会在当前目录下生成一个可执行文件a.out。
  3. gcc HelloWorld.c -o filename:如果程序没有错误,会在当前目录下生成一个通过-o指定文件名的可执行文件。
  4. ./a.out:执行编译成功之后的a.out
原文链接:,转发请注明来源!