Linux入门指导

这里我默认你已经安装好Linux系统,我以Ubuntu为例,因为其他Linux系统都大同小异:

常用命令

ls     查看当前目录下的文件
pwd    显示当前目录路径
cd     切换当前工作目录, 即可以进入目录, 退出目录, 跳到某个目录
cp     拷贝文件
mv     移动文件或重命名
rm     删除文件
touch  新建文件或修改文件时间戳
vim    新建文件或修改或编辑文件
locate 查找符合条件的文档或目录
grep   查找文件里符合条件的字符串
cat    把文件内容打印到屏幕,官方说法:连接文件并打印到标准输出设备上。
chmod  修改文件或目录的权限

注:Linux命令大全-runoob.com 去这里可以看命令具体内容。

ls命令 (显示目录下的内容), 了解更多点这

当你打开Terminal(终端),输入ls回车, 你会看到一些东西:

ypy@ubuntu:~$ ls
Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates  
pwd命令(显示当前路径), 了解更多点这

输入pwd回车, 你会看到:

ypy@ubuntu:~$ pwd
/home/ypy

这个路径, 就是你刚才ls的目录

cd命令(切换目录), 了解更多点这
ypy@ubuntu:~$ ls                <=查看目录下内容
Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates  

ypy@ubuntu:~$ pwd               <=查看当前路径
/home/ypy

ypy@ubuntu:~$ cd Desktop/       <=进入Desktop目录

ypy@ubuntu:~/Desktop$ ls
Source Insight 4.0.lnk  Source Insight 4.0.desktop  

ypy@ubuntu:~/Desktop$ pwd       <=查看当前路径
/home/ypy/Desktop

ypy@ubuntu:~/Desktop$ cd ..     <=进入上一级目录

ypy@ubuntu:~$ ls                <=查看当前目录下内容
Desktop    Downloads         Music     Public     Videos
Documents  examples.desktop  Pictures  Templates

ypy@ubuntu:~$ touch 123.txt     <=新建123.txt文件

ypy@ubuntu:~$ ls
123.txt  Documents  examples.desktop  Pictures  Templates
Desktop  Downloads  Music             Public    Videos

ypy@ubuntu:~$ cp 123.txt Desktop/     <=拷贝123.txt文件到Desktop/目录下

ypy@ubuntu:~$ cd Desktop/       <=进入Desktop/目录

ypy@ubuntu:~/Desktop$ ls        <=看到了123.txt
123.txt  Source Insight 4.0.lnk  
Source Insight 4.0.desktop

这个动图讲解了常用命令:Linux 终端中常用的文件和文件夹操作命令
一定要自己多试验一下, 多多实践. 其他的命令类似, 自己搜索一下, 或者去看这些:

命令大全-推荐参考资源:

Linux命令大全-runoob.com
Linux命令大全-查询
Linux常用命令大全-列表
讲到这里, 基本操作应该没问题, 但是还是云里雾里的.

Linux目录结构

接下来,我们了解一下Linux的目录结构:
Linux目录结构图

Linux中根目录就是一个斜杠/, 下一级目录就是/xxx ,再下一级就是/xxx/yyy
这里主要知道:/home 目录即可。
因为这个目录一般存储普通用户的个人文件, 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。比如我的/home/ypy,存放我的vim的配置文件.vim, 其他软件的配置文件,shell的配置文件等。
了解更多目录结构看这:Linux 系统目录结构Linux系统目录结构以及简单说明

另外要知道

..  两个点表示上一级目录, cd.. 即进入上一级目录
.   一个点表示当前目录, cd. 即当前目录

了解更多Linux符号去这里:

Linux符号-推荐参考资料:

Linux 常见特殊符号
LINUX符号大全

善用帮助

help

Linux的命令,一般支持参数选项,好比有三头六臂,我教大家如何去运用。也就是各种命令加help。如:

ls --help     <= 必须是两个短线,跟一个短线不一样
cp --help
mv --help
cd --help
...

我们来看一下ls

ypy@ubuntu:~/Desktop$ ls --help
Usage: ls [OPTION]... [FILE]...  <= 这表示排列顺序
List information about the FILEs (the current directory by default).
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.
  ...
下面都是每个OPTION的解释
-a, --all                  do not ignore entries starting with .
  ...
-h, --human-readable       with -l and/or -s, print human readable sizes
                               (e.g., 1K 234M 2G)
-l                         use a long listing format
-L, --dereference          when showing file information for a symbolic
                               link, show information for the file the link
                               references rather than for the link itself
  ...
-t                         sort by modification time, newest first

我们来看个例子:

ypy@ubuntu:~/Desktop$ ls -a    <= 该选项-a是显示隐藏文件,这里有., .., 
.   123.txt                   Source Insight 4.0.desktop  sourceinsight4.exe
..  Source Insight 4.00.0089  Source Insight 4.0.lnk
ypy@ubuntu:~/Desktop$ ls -l    <= 该选项-l显示文件详细信息,如权限,大小等
total 2824
-rw-r--r-- 1 ypy ypy       0 Apr  5 07:13 123.txt
drwxr-xr-x 2 ypy ypy    4096 Mar 25 07:34 Source Insight 4.00.0089
-rwxr-xr-x 1 ypy ypy     268 Mar 25 07:16 Source Insight 4.0.desktop
-rw-r--r-- 1 ypy ypy     933 Mar 25 07:16 Source Insight 4.0.lnk
-rw-r--r-- 1 ypy ypy 2876400 Jan 16 06:42 sourceinsight4.exe
ypy@ubuntu:~/Desktop$ ls -lh  <= 该选项-lh,两个功能,既显示详细信息,又把大小以人类好理解的方式显示。40964.0K哪个好理解,不言自明吧
total 2.8M
-rw-r--r-- 1 ypy ypy    0 Apr  5 07:13 123.txt
drwxr-xr-x 2 ypy ypy 4.0K Mar 25 07:34 Source Insight 4.00.0089
-rwxr-xr-x 1 ypy ypy  268 Mar 25 07:16 Source Insight 4.0.desktop
-rw-r--r-- 1 ypy ypy  933 Mar 25 07:16 Source Insight 4.0.lnk
-rw-r--r-- 1 ypy ypy 2.8M Jan 16 06:42 sourceinsight4.exe

注意:当多个选项是,这两个是相同的意思, Linux允许各加短线分开,也允许一个短线组合

ls -l -h
ls -lh

效果:

ypy@ubuntu:~/Desktop$ ls -l -h   <=注意这里
total 2.8M
-rw-r--r-- 1 ypy ypy    0 Apr  5 07:13 123.txt
drwxr-xr-x 2 ypy ypy 4.0K Mar 25 07:34 Source Insight 4.00.0089
-rwxr-xr-x 1 ypy ypy  268 Mar 25 07:16 Source Insight 4.0.desktop
-rw-r--r-- 1 ypy ypy  933 Mar 25 07:16 Source Insight 4.0.lnk
-rw-r--r-- 1 ypy ypy 2.8M Jan 16 06:42 sourceinsight4.exe
ypy@ubuntu:~/Desktop$ ls -lh     <=注意这里
total 2.8M
-rw-r--r-- 1 ypy ypy    0 Apr  5 07:13 123.txt
drwxr-xr-x 2 ypy ypy 4.0K Mar 25 07:34 Source Insight 4.00.0089
-rwxr-xr-x 1 ypy ypy  268 Mar 25 07:16 Source Insight 4.0.desktop
-rw-r--r-- 1 ypy ypy  933 Mar 25 07:16 Source Insight 4.0.lnk
-rw-r--r-- 1 ypy ypy 2.8M Jan 16 06:42 sourceinsight4.exe
man

man命令是Linux下的帮助指令,通过man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。一般用于查看函数的功能描述,如:

man printf
man memcpy
man memset
...

我们看一下man memcpy,下面显示了memcpy所在的头文件,函数描述, 参数列表详情。

NAME
       memcpy - copy memory area

SYNOPSIS
       #include <string.h>

       void *memcpy(void *dest, const void *src, size_t n);

DESCRIPTION
       The  memcpy()  function  copies  n bytes from memory area src to memory
       area dest.  The memory areas must not overlap.  Use memmove(3)  if  the
       memory areas do overlap.

RETURN VALUE
       The memcpy() function returns a pointer to dest.

ATTRIBUTES
       For   an   explanation   of   the  terms  used  in  this  section,  see
       attributes(7).

安装工具

在Linux终端下,一切命令皆可以叫工具。例如ls, cd, rm等系统自带,vim, gcc, python等得自己安装。
在Ubuntu中一般用sudo apt-get install XXX即可安装工具。这里xxx就是工具名称。如:sudo apt-get install python
安装完后就可使用该工具,一般xxx --help就可以看到该工具的使用帮助。xxx为工具名。

gcc编译

gcc是编译器,编译工具。 一般我用来编译C/C++代码。
假如,现在你有三个文件,main.csort.c, sort.h
一般快速编译成可执行文件, 直接输入指令gcc main.c sort.c,就会生成一个名为a.out的可执行文件(该文件名是默认的)。当然也可以在输出时,指定可执行文件名,如:gcc main.c sort.c -o main.out。(这里的.out后缀不是必须的,不加也可以)

gcc命令后面,可以加其他的选项,我简单列几个,如:

gcc -c        <= 通知gcc取消连接步骤,即编译源码,并在最后生成目标文件
gcc -E        <= 只运行C预编译器
gcc -Wall     <= 使gcc对源文件的代码有问题的地方发出警告
gcc -g        <= 在目标文件中嵌入调试信息,以便gdb之类的调试程序调试

这里就不可以这样写gcc -gc, gcc -EWall 这种是不支持的。只能这样:gcc -g -c, gcc -E -Wall

更多gcc详细内容去这里:

gcc-推荐参考资料:

gcc简单入门
Linux GCC常用命令

gdb调试

后期更新

make编译

假如我们有一个大的工程,肯定有很多源文件,如此多的源文件,如果每次都要键入gcc命令进行编译的话,那对程序员来说简直就是一场灾难。
人们想办法,是否有个工具可以解决这个问题?make应运而生。make工具则可自动完成编译工作,并且可以只对程序员在上次编译后修改过的部分进行编译。
make命令是GNU的工程化编译工具,用于编译众多相互关联的源代码文件,以实现工程化的管理,提高开发效率。
其实,make是调用了gcc,并且把多条gcc编译命令按照一定规则放到一个Makefile文件中。

后期更新

shell-Linux脚本

后期更新

vim编辑工具使用

后期更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ha-Ha-Interesting

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值