Linux C学习第一天
Linux 部分目录结构:
/: 根目录,只存放目录,不要存放文件。目录 如:/etc,/bin, /dev, /lib, /sbin 等放置在一个分区中;
**/bin:**可执行二进制目录文件,如常用的ls,cat, mv, tar 命令存放在本目录中。
/boot: 存放linux系统启动时使用的文件,其中vmlinuz为linux内核文件,以及gurb文件
/dev: 设备文件目录,本目录用于存放系统下的设备文件,linux下设备被当成文件, 访问该目录下某个文件,相当于访问某个设备。
/etc: 操作系统的配置文件目录,不建议在此目录下存放可执行文件,重要的配置文件有:/etc/inittab, /etc/fstab, /etc/init.d, /etc/X11, /etc/sysconfig, /etc/xinetd.d
/home: 系统默认的用户目录,新增用户帐户时,用户的家目录都存放在目录下,-表示当前用户的目录。
/lost+find: 系统异常产生错误时,会将一些遗失的片段放置在此目录下。
**/root:**系统管理员目录
/sbin: 放置系统管理员使用的可执行命令,如:
fdisk,shutdown,mount等,与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能查看不能设置和使用。
**/tmp:**一般用户或正在执行的程序临时存放文件的目录,任何人都可以访问,重要数据不可放置在此目录下。
**/usr:**应用程序存放目录:
/usr/bin 存放应用程序,
/usr/share存放共享数据,
**/usr/lib:**存放程序运行必需的一些函数库文件。/usr/local: 存放软件升级包,
**/usr/share/doc:**系统说明文件存放目录。
**/usr/share/man:**程序说明文件存放目录
**/mnt:**光盘挂载点,通常光盘设备/dev/cdrom挂载到/mnt目录。
Linux终端常用热键:
Tab:命令补全,文件路径补全;
Ctrl+c:终止正在运行的程序。
Ctrl+d: 退出字符界面。
Ctrl+Alt+t:在当前终端新建标签页。
Ctrl+shift+c:复制终端选中内容;
Ctrl+shift+v:粘贴终端复制内容
Linux常用命令:
用户管理类命令:
1.添加用户:useradd
格式:useradd [选项] 用户名
示例:useradd suqian
结果:添加名字为suqian的用户,位置在/home下
2.删除用户:userdel
格式:userdel [选项] [用户名]
示例:userdel -r suqian
结果:删除suqian用户, -r使/home的用户目录也删除
3.修改密码:passwd
格式:passwd [选项][用户名]
示例:passwd suqian
注:若后面不加用户名,则默认修改root的密码
4.切换用户:su
格式:su [用户名]
示例:su suqian
结果:切换到suqian用户,并将用户的环境变量同时带入。
由普通用户切换到超级用户root需要密码,由普通用户切换到切换到令一普通用户也许密码
文件和目录类命令:
5.查看目录:ls
格式:ls [选项] [目录文件]
示例:
1.ls /home
显示/home目录下的文件与目录,不包含隐藏文件
2. ls –a /home
显示/home目录下的文件与目录,包含隐藏文件
3. ls -l /home
显示/home目录下的文件与目录的详细信息
4.ls-al /home
显示/home目录下的文件与目录的详细信息,包含隐藏文件
6.改变工作目录:cd
格式:cd 目录名
示例:
1.cd /home
进入/home目录下
2.cd …
进入上一级目录
7.文件创建:touch
格式:touch [选项] 文件名
示例:touch hello.c
结果:在当前目录下创建hello.c文件
8. 复制文件/目录: cp
格式:cp [选项] 源文件 目标文件/目录
- cp /home/hello.c /tmp/
把/home/hello.c 拷贝到/tmp目录下 - cp -r /home/dir /tmp
把/home/dir目录下内容拷贝到/tmp目录下
9.移动或更名–mv
格式:mv [选项] 源文件或目录 目标文件或目录
示例:
1.mv /home/ddd /home/ddd1
将/home目录下的ddd文件更名为ddd1 - mv /home/ddd1 /tmp
将/home目录下的ddd1目录剪切到/tmp目录下
10.删除-rm
格式:rm [选项] 文件或目录
范例:
1.rm /home/ddd
删除/home目录下的test文件
2.rm -r /home/ddd
删除/home目录下的ddd目录
3.rm -f /home/ddd
强制删除/home目录下的ddd目录
4.rm -rf /home/ddd
强制删除/home目录下的ddd目录
5.rm -rf *
强制删除所有文件
6.rm -rf *abc
强制删除所有abc开头的文件
11.改变文件权限:chmod
格式:chmod [who] + /- /= [mode] 文件名
参数:
Who:
u : 表示文件的所有者
g:表示与文件所有者同组的用户
o:表示其他用户
a:表示所有用户,它是系统默认值
Mode:
+:添加某个权限
-:取消某个权限
=:赋予权限
示例:chmod u+w hello.c
结果:修改hello.c文件所有者有写的权限
-rw-r–r--可看做二进制110 100 100,对应644,改变权限时也可写作:
chmod hello.c 666
结果:权限变为-rw-rw-rw- - 创建目录:mkdir
1.格式:mkdir [选项] 目录名
示例:
Mkdir /home/workdir
在/home目录下创建workdir目录
2.Mkdir -p /home/dir1/dir2/dir3
创建dir3目录,如果前面dir1/dir2不存在,先创建
13.查看目录大小:du
du -sk以kb为单位
du -sm以mb为单位
14.查看当前工作路径:pwd
格式:pwd
示例:pwd
显示当前工作目录的绝对路径
15.压缩文件
tar -zcf hello.tar.gz [若干文件名]
将若干文件或文件夹压缩,并命名为hello
16.解压
tar -xzf [文件名]
在当前目录下解压
17.创建软链接
ln -s [目标文件夹] [目录名称](首先要进入想要创建快捷方式的目录)
18.查看所有进程
ps -elf
ps -elf |grep ./[文件名] 查看某程序进程
19.终结程序进程
例:kill -9 2588 杀死指定程序进程
注:当要杀死死循环程序进程时,需要再打开一个终端执行kill命令
19.编译与执行
gcc 250.c -o [新的文件名] 编译生成可执行文件并命名
./[文件名] 执行文件
20.查找
find / -name “sqlite3.h” 查找根目录下的sqlite3.h文件
find [路径] -name [“文件名”] 在某路径下查找某文件
grep [“关键字”] [路径] -R 在某路径下查找某具体内容
grep “eth0” /etc/* -R