一.linux操作系统的特点

1、linux下一切皆文件

2、linux系统就像一个倒置数

3、linux系统支持多用户、多任务

二. Ubuntu –“乌班图”操作系统

Ubuntu是一个以桌面应用为主的Linux操作系统

常用命令

1.打开终端:Ctrl + alt + ‘t’(默认的打开家目录下的终端)2.切换用户:

sudo -i–临时提升为超级用户(root)

注意:

运行su命令时不需要使用sudo

如果要切换到超级用户(root)的帐户,可以运行su –

另一种切换用户的方法是使用su命令的-l选项。

退出root用户的方法:

①ctrl + ‘D’

②logout

③exit

清屏:clear (ctrl + ‘l’)

补全命令或目录–Tab /三次Esc

3.CD命令

hqyj@ubuntu:~$

$是指普通用户的当前工作目录,而~则是指普通用户的家目录。返回根目录的命令

/–根目录

~–家目录

cd命令可以用来改变当前工作目录(Change Directory)。

1.cd:进入用户家目录

2. cd [目录名]:进入指定目录

3. cd ..:返回上一级目录

4. cd -:返回刚才所在的目录

5. cd ~:进入用户家目录

6. cd /:进入根目录

7. cd ../..:返回上两级目录

8. cd ./[目录名]:进入当前目录的指定子目录

4.pwd命令

pwd命令用于显示当前所在目录的绝对路径。该命令的全称是”print working directory”,即打印工作目录。

输出结果示例:

5.ls命令和ll命令

ls命令是列出当前目录的文件和子目录,ll命令是长格式列出当前目录的文件和子目录,ll命令会显示更多的文件信息,比如文件创建时间、文件大小等,ls命令则只会显示文件名。

ls -a命令用于列出当前目录下的所有文件和文件夹,包括隐藏文件(以“.”开头的文件)。

ls -l命令用于列出当前目录下的所有文件和文件夹,并显示文件的详细信息,包括文件的权限、所有者、大小和日期等。

区别:

ls -l命令是查看文件和目录的详细信息,主要按照文件属性、文件大小、最后修改时间等来排列,结果比较复杂,不便查看。

ll命令是ls -l的简写,查看文件和目录的详细信息,结果更加友好,比ls -l更容易查看。

ls -a命令是查看当前所在目录下的所有文件,包括隐藏文件;

la命令是一种自定义的命令,可以查看当前所在目录下的所有文件(包括隐藏文件),并以详细的方式显示出文件的大小、权限等信息。

6.Linux 文件类型

Linux 文件类型有普通文件、目录文件、符号链接文件、块设备文件、字符设备文件、管道文件、socket在linux系统中通过ll即ls -l命令可以看到当前目录下的文件的详细信息,其中第一位的字符就是表示该文件的文件类型。

[-]:普通文件

第一个属性为[-]为普通文件,Linux中最多的一种文件类型, 包括 纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.

[d]:目录文件

就是目录,能用# cd 命令进入的。第一个属性为 [d],例如 [drwxrwxrwx]

[b]:块设备文件

块设备文件:就是存储数据以供系统存取的接口设备,简单而言就是硬盘。例如一号硬盘的代码是/dev/hda1等文件。第一个属性为 [b]

[c]:字符设备

字符设备文件:即串行端口的接口设备,例如键盘、鼠标等等。第一个属性为[c]

[s]:套接字文件

这类文件通常用在网络数据连接。可以启动一个程序来监听客户端的要求,客户端就可以通过套接字来进行数据通信。第一个属性为[s],最常在 /var/run目录中看到这种文件类型

[p]:管道文件

FIFO也是一种特殊的文件类型,它主要的目的是,解决多个程序同时存取一个文件所造成的错误。FIFO是first-in-first-out(先进先出)的缩写。第一个属性为 [p]

[l]:链接文件

类似Windows下面的快捷方式。第一个属性为 [l],例如 [lrwxrwxrwx]

7.创建文件

在Linux 中,您可以使用以下命令来创建新文件:

  • touch:该命令用于创建空文件或更新文件的时间戳。例如:touch file.txt。
  • echo:该命令用于将文本内容写入新文件。例如:echo “Hello, world!” > file.txt。
  • cat:该命令用于将文本内容附加到文件末尾。例如:echo “Hello, again!” >> file.txt。
  • nano:该命令用于启动Nano 文本编辑器,可以用来创建新文件。例如:nano file.txt。
  • vi:该命令用于启动vi 文本编辑器,可以用来创建新文件。例如:vi file.txt。
  • emacs:该命令用于启动Emacs 文本编辑器,可以用来创建新文件。例如:emacs file.txt。

cat:把文件的内容打印到终端上

mkdir命令用于在 Linux 中创建新目录。

使用方法:

mkdir directory_name

例如,要创建名为”documents” 的新目录,可以使用以下命令:

mkdir documents

8.删除文件:

在Linux系统中,可以使用rm命令来删除文件。例如,要删除名为myfile.txt的文件,可以使用以下命令:

rm myfile.txt

如果要删除多个文件,可以将文件名列在命令的后面,例如:

rm file1.txt file2.txt file3.txt

注意:删除文件后无法恢复,请谨慎使用。

如果要强制删除文件,可以使用-f选项,例如:

rm -f myfile.txt

如果要删除一个目录及其中的所有内容,可以使用rm -r命令,例如:

rm -r mydir

该命令将删除mydir目录及其中的所有文件和子目录。

需要注意的是,如果使用rm -r命令删除目录时,默认不会提示用户确认,因此要谨慎使用。如果要在删除目录时提示用户确认,可以使用-i选项,例如:

rm -ri mydir

使用-i选项后,系统会在删除每个文件时提示用户确认。

另外,还有一些其他常用的选项可以使用:

  • -v:在删除文件时显示详细信息。
  • –preserve-root:防止误删除根目录。
  • –help:显示帮助信息。

例如,要删除mydir目录及其中的所有文件,并在删除时提示用户确认,可以使用以下命令:

rm -riv mydir

该命令将显示详细信息,并在删除每个文件时提示用户确认。

需要注意的是,rm命令仅能删除文件,不能删除符号链接。如果要删除符号链接,可以使用unlink命令,例如:

unlink mylink

该命令将删除名为mylink的符号链接。

另外,如果要删除一个文件,但是该文件被某个进程正在使用,则无法删除。在这种情况下,可以使用lsof命令查看文件被哪个进程使用,然后关闭该进程,再尝试删除文件。

例如,要查看名为myfile.txt的文件被哪个进程使用,可以使用以下命令:

lsof myfile.txt

该命令将显示使用该文件的进程信息。

使用rm命令时,还需注意文件名中的特殊字符,例如空格、星号(*)等。如果文件名中包含这些字符,需要使用引号将文件名括起来,例如:

rm”my file.txt”

这样才能正确删除文件。

9.Cp复制命令

基本语法格式如下:

cp[options] sourcedestination

其中,source是要复制的文件或目录的路径,destination是复制到的目标路径。

常用选项有:

  • -a:复制目录时保留其权限、属性和符号链接。
  • -f:强制覆盖目标文件。
  • -i:如果目标文件已存在,询问是否覆盖。

-r:递归复制目录。

例如,要复制文件/home/john/file.txt到目录/tmp,可以运行:

cp/home/john/file.txt /tmp

要递归复制目录/home/john/docs到目录/tmp/docs,并保留其权限、属性和符号链接,可以运行:

cp-a /home/john/docs /tmp/docs

要复制文件/home/john/file.txt到目录/tmp,如果目标文件已存在就询问是否覆盖,可以运行:

cp-i /home/john/file.txt /tmp

10.移动,剪切命令

基本语法格式如下:

mv[options] sourcedestination

其中,source是要移动的文件或目录的路径,destination是移动到的目标路径。

常用选项有:

  • -f:强制覆盖目标文件。
  • -i:如果目标文件已存在,询问是否覆盖。

例如,要将文件/home/john/file.txt移动到目录/tmp,可以运行:

mv/home/john/file.txt /tmp

如果目标文件已存在,并且要询问是否覆盖,可以运行:

mv-i /home/john/file.txt /tmp

注意:如果destination是一个已存在的目录,则source会被移动到该目录下。如果destination不存在,则会将source重命名为destination

11.vi 和 vim 文本编辑器

要使用vi 或 vim 编辑器,你可以在终端中输入“vi”或“vim”并跟上文件名,即可打开一个文件进行编辑。例如,要打开一个名为“test.txt”的文件,你可以在终端中输入“vi test.txt”。

vi 和 vim 有很多相似的快捷键,但也有一些不同之处。下面列出一些常用的快捷键:

  • 在vi 或 vim 中移动光标:
  • h:向左移动光标
  • j:向下移动光标
  • k:向上移动光标
  • l:向右移动光标
  • w:向右移动光标,直到下一个单词的开头
  • b:向左移动光标,直到上一个单词的开头
  • 0:移动光标到行首
  • $:移动光标到行尾
  • G:移动光标到文件尾
  • gg:移动光标到文件开头
  • 在vi 或 vim 中进行编辑:
  • i:进入插入模式,在光标处插入文本
  • I:进入插入模式,在行首插入文本
  • a:进入插入模式,在光标后插入文本
  • A:进进入插入模式,在行尾插入文本
  • o:在当前行的下面插入一个新行,并进入插入模式
  • O:在当前行的上面插入一个新行,并进入插入模式
  • r:替换光标所在位置的字符
  • R:进入替换模式,替换多个字符
  • dd:删除光标所在行
  • dw:删除从光标开始直到下一个单词结尾的内容
  • x:删除光标所在位置的字符
  • 在vi 或 vim 中保存和退出:
  • :w:保存文件
  • :q:退出 vi 或 vim
  • :wq:保存文件并退出
  • :q!:强制退出,不保存任何更改

12.vi vim 编辑器常用模式

(1)命令行模式

yy :复制一行

nyy:复制n行

dd :剪切一行

ndd :剪切n行

p :粘贴到光标的下一行

u :撤销

(2)插入模式

从命令行模式进入插入模式

i –在光标的当前位置的前面插入

a –在光标的当前位置的后面插入

o –在光标的当前位置的下一行插入

从插入模式进入命令行模式

Exc

(3)底行模式

从命令行模式进入底行模式–shift+’:’

w–保存

q–退出

wq–保存并退出

x–保存并退出

q!–强制退出

wq!–强制保存并退出

13.编译

gcc编译器

例子:gccfirst.c //默认生成一个a.out的可执行文件

gccfirst.c-oApp