一.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