Linux是一种开源的操作系统,受到了许多开发者的欢迎。Linux系统环境完全由C程序编译而成,因此在Linux中开发、调试C程序有着得天独厚的优势。建议在Windows下安装VMware,在其内部安装界面友好的Ubuntu操作系统,并且进行开发环境vim的配置。以上内容可以参考相关的文章,这里不作为重点。
在Linux操作系统中全部的命令都可以在Terminal(命令行)环境下进行(打开终端:ctrl + alt + t)。
“linux”代表当前用户的用户名;
“@”为分隔符;
“ubuntu”为主机名;
“~”表示home家目录(每次打开Terminal必然处在家目录下,类似于windows下的文件夹);
“$”为shell命令提示符。
下面看一些Linux C语言里常用的命令:
1、pwd:显示当前用户所在的路径。
在Linux操作系统中全部的命令都可以在Terminal(命令行)环境下进行(打开终端:ctrl + alt + t)。
linux@ubuntu:~$其中:
“linux”代表当前用户的用户名;
“@”为分隔符;
“ubuntu”为主机名;
“~”表示home家目录(每次打开Terminal必然处在家目录下,类似于windows下的文件夹);
“$”为shell命令提示符。
下面看一些Linux C语言里常用的命令:
1、pwd:显示当前用户所在的路径。
linux@ubuntu:~$ pwd /home/linux linux@ubuntu:~$
其中:
第一个“/”表示根目录,根目录也是Linux的起始目录;
第二个“/”表示分隔符。在这里引申出一个概念:绝对路径和相对路径。绝对路径是以根目录开始的路径,也就是以“/”开始的路径。而相对路径定义为不是以“/”开始的路径。
2、(1)ls:(list)列出当前路径下的内容。
第一个“/”表示根目录,根目录也是Linux的起始目录;
第二个“/”表示分隔符。在这里引申出一个概念:绝对路径和相对路径。绝对路径是以根目录开始的路径,也就是以“/”开始的路径。而相对路径定义为不是以“/”开始的路径。
2、(1)ls:(list)列出当前路径下的内容。
linux@ubuntu:~$ ls core Documents examples.desktop Pictures Templates vimconfig Desktop Downloads Music Public Videos vimconfig.tar.bz2
(2)ls 路径名:列出指定路径下的内容。(比如:列出Documents文件目录下的全部内容)
linux@ubuntu:~$ ls Documents/ 4 5 6 7 a.out core Cprograme Shuzu.c
(3)ls -a :(ALL)列出当前路径下所有内容,包括隐藏文件(隐藏文件在Linux中以.开头)。
linux@ubuntu:~$ ls -a . .compiz-1 examples.desktop .ICEauthority Public vimconfig.tar.bz2 .. .config .fontconfig .local .pulse .viminfo .apport-ignore.xml core .gconf .mission-control .pulse-cookie .vim_mru_files .bakvim .dbus .gksu.lock .mozilla Templates .vimrc .bash_history Desktop .gnome2 Music .thumbnails .Xauthority .bash_logout .dmrc .gstreamer-0.10 .pam_environment Videos .xinput.d .bashrc Documents .gtk-bookmarks Pictures .vim .xsession-errors .cache Downloads .gvfs .profile vimconfig .xsession-errors.old
这里单独的“.”表示home目录,而“..”表示上一级目录,以.开头的文件在(1)中并没有显示,但是在这里全部显示出来了。
(4)ls -l:(list)以列表的方式显示当前路径下的内容。
linux@ubuntu:~$ ls -l total 4344 -rw------- 1 linux linux 23531520 6月 25 2015 core drwxr-xr-x 2 linux linux 4096 4月 3 08:32 Desktop drwxr-xr-x 7 linux linux 4096 4月 12 10:38 Documents drwxr-xr-x 2 linux linux 4096 6月 25 2015 Downloads -rw-r--r-- 1 linux linux 8445 6月 25 2015 examples.desktop drwxr-xr-x 2 linux linux 4096 4月 11 17:23 Music drwxr-xr-x 2 linux linux 4096 6月 25 2015 Pictures drwxr-xr-x 2 linux linux 4096 6月 25 2015 Public drwxr-xr-x 2 linux linux 4096 6月 25 2015 Templates drwxr-xr-x 2 linux linux 4096 6月 25 2015 Videos drwxr-xr-x 3 linux linux 4096 7月 15 2013 vimconfig -rwxrw-rw- 1 linux linux 799978 7月 2 2014 vimconfig.tar.bz2 linux@ubuntu:~$
我们依次来看一下这里所有内容分别表示什么:
“d”代表“文件目录”,而“—”代表文件;
第一个“rwx”表示当前用户(u)的操作权限,“r”(READ)表示读权限,“w”(WHITE)表示写入权限,“x”(EXECUTE)表示可执行权限,“-”表示没有对应的权限;
同理,第二个“rwx”表示当前用户组(g)所拥有的权限,第三个“rwx”表示其他用户(o)的权限;(*当前用户组可以是你的开发团队中的其他成员,而其他用户可以是你所服务的客户)
“4096”为系统默认文件的大小(如果文件大小超过4096,则显示实际大小,文件大小的最小单位为4096);
“Apr 2 17:30”表示最后一次修改文件的时间,也叫时间戳;
“Desktop”即文件或文件目录的名称。
“d”代表“文件目录”,而“—”代表文件;
第一个“rwx”表示当前用户(u)的操作权限,“r”(READ)表示读权限,“w”(WHITE)表示写入权限,“x”(EXECUTE)表示可执行权限,“-”表示没有对应的权限;
同理,第二个“rwx”表示当前用户组(g)所拥有的权限,第三个“rwx”表示其他用户(o)的权限;(*当前用户组可以是你的开发团队中的其他成员,而其他用户可以是你所服务的客户)
“4096”为系统默认文件的大小(如果文件大小超过4096,则显示实际大小,文件大小的最小单位为4096);
“Apr 2 17:30”表示最后一次修改文件的时间,也叫时间戳;
“Desktop”即文件或文件目录的名称。
3、man 手册的使用(类似于linux_ C的使用说明)
(1)man 1 需要搜索的命令:可以获得该命令的命名、形式、描述等信息。(比如:搜索pwd)
(1)man 1 需要搜索的命令:可以获得该命令的命名、形式、描述等信息。(比如:搜索pwd)
linux@ubuntu:~$ man 1 pwd//回车后会跳转至如下界面,按q即可退出 PWD(1) User Commands PWD(1) NAME pwd - print name of current/working directory SYNOPSIS pwd [OPTION]... DESCRIPTION Print the full filename of the current working directory. -L, --logical use PWD from environment, even if it contains symlinks(2)man 2 系统调用:不经常用。
(3)man 3 需要搜索的库函数:可以查看C程序中库函数的相关描述。(比如:搜索stdio)
linux@ubuntu:~$ man 3 stdio//回车后会跳转至如下界面,按q即可退出 STDIO(3) Linux Programmer's Manual STDIO(3) NAME stdio - standard input/output library functions SYNOPSIS #include <stdio.h> FILE *stdin; FILE *stdout; FILE *stderr; DESCRIPTION The standard I/O library provides a simple and efficient buffered stream I/O interface. Input and output is mapped into logical data streams and the physical I/O characteristics are concealed. The functions and macros are listed below; more information is available from the individual man pages.
4、(1)cd:切换路径(默认cd切换回/home/linux目录)
(2)cd 路径:切换到指定路径。(比如:切换到Documents目录)
linux@ubuntu:~$ cd linux@ubuntu:~$ pwd /home/linux
(2)cd 路径:切换到指定路径。(比如:切换到Documents目录)
linux@ubuntu:~$ cd Documents/ linux@ubuntu:~/Documents$ pwd /home/linux/Documents
(3)cd ..:回到上一层目录,类似的可以查看前文说过的在ls -a命令下的相关内容。
(4)cd -:回到上一次的工作目录,类似于Windows下的路径撤销命令。
(4)cd -:回到上一次的工作目录,类似于Windows下的路径撤销命令。
5、mkdir 文件夹名:新建文件目录(文件夹)。
touch 文件名:新建普通文件。这里如果文件不存在,就执行“创建新的文件”,如果文件存在就执行"刷新时间戳"。
touch 文件名:新建普通文件。这里如果文件不存在,就执行“创建新的文件”,如果文件存在就执行"刷新时间戳"。
linux@ubuntu:~/Documents$ mkdir aquarices linux@ubuntu:~/Documents$ ls 4 5 6 7 a.out aquarices core Cprograme Shuzu.c linux@ubuntu:~/Documents$ cd aquarices linux@ubuntu:~/Documents/aquarices$ touch 1.c linux@ubuntu:~/Documents/aquarices$ ls 1.c linux@ubuntu:~/Documents/aquarices$
上面的命令执行了在/Documents文件目录下创建了aquarices文件目录并查看,然后进入aquarices文件目录下创建了1.c文件并查看,以上几个命令做到一个综合的应用,可以基本上脱离鼠标对Linux操作系统进行切换操作。
下面看一些针对文件本身的操作:
6、rm 文件名:删除文件。
rm -r 文件目录名:删除目录文件。
可以将前文创建文件的全部删除。
linux@ubuntu:~/Documents/aquarices$ rm 1.c linux@ubuntu:~/Documents/aquarices$ ls linux@ubuntu:~/Documents/aquarices$ cd .. linux@ubuntu:~/Documents$ rm -r aquarices/ linux@ubuntu:~/Documents$ ls 4 5 6 7 a.out core Cprograme Shuzu.c
7、cp 路径1/文件1(想要拷贝的文件) 路径2/文件2(拷贝之后的文件):复制粘贴,文件2可以选择重命名,如果是目录文件需要加选项参数-r。
mv 路径1/文件1(想要剪切的文件) 路径2/文件2(剪切后文件的状态):剪切,可以选择重命名,如果是目录文件不需要加-r。
*备注:可以看到在Linux中复制和剪切都伴随着粘贴操作,这和Windows是很大的不同。
mv 路径1/文件1(想要剪切的文件) 路径2/文件2(剪切后文件的状态):剪切,可以选择重命名,如果是目录文件不需要加-r。
*备注:可以看到在Linux中复制和剪切都伴随着粘贴操作,这和Windows是很大的不同。
以上。