Linux常用指令

简单指令

符号|指令 作用
$ 表示你是一般用户(root)
# 表示你是超级用户
Ctrl + Alt + Shift + (f1~f6) 切换到字符控制台
Alt + f7 切换回图形界面
ps aux 查看进程信息
kill -9 进程ID 停止进程
Ctrl + a (shell)回到命令的开始
Ctrl + e (shell)跑到命令末尾
Ctrl + d (shell)删除光标后的字符
ls -a 列出隐藏文件,文件夹中以"."开头的均为隐藏文件
ls -l 列出文件的详细信息
ls -R 连同子目录中的内容一起列出

用ls -l 命令显示的信息中,开头是由10个字符构成的字符串,其中第一个字符表示文件类型,它可以是下述类型之一:

符号 文件类型
- 普通文件
d 目录
l 符号链接(快捷方式)
b 块设备文件(U盘)
c 字符设备文件(鼠标,键盘)
s socket文件,网络套接字
p 管道

后面9个字符表示文件的访问权限,分为3组,每组3位。第一组表示文件属主 的权限,第二组表示同组用户的权限,第三组表示其他用户的权限。每一组的三个字符分别表示对文件的读(r)、写(w)和执行(x)权限。

mkdir -p 可以连同父目录一起创建

mkdir -p /aa/bb/cc

touch 命令
如果文件已经存在,则把访问和修改时间都修改为目前的时间。

为文件创建链接

ln hello world_h

创建软链接

ln -s hello world_s

利用wc指令可以计算文件的byte数、字数或是列数。
wc -c 只显示bytes数;
wc -l 只显示列数;
wc -w 只显示字数

显示你的盘符已使用空间

df --block-size=GB
df --block-size=MB

根据文件名查找文件

符号|指令 作用
find ./* -name "firefox" 在当前目录下查找文件
find / -name "firefox" 在根目录下查找文件
find / -name "firefox" > abcd 可以令输出重定向到指定文件
Ctrl + a (shell)回到命令的开始
Ctrl + e (shell)跑到命令末尾
Ctrl + d (shell)删除光标后的字符

根据内容查找文件

grep "查找内容" ./* -R
find默认使用递归方式查找文件,但是grep需要人为指定递归方式,而且grep无法查找隐藏文件的内容。./*表示在当前路径下,查找所有的文件。

打包文件

对tar文件
tar zcvf test.tar.gz test

-- zcvf:
-- z表示压缩格式,使用gZip压缩算法来压缩文件
-- c表示creat
-- vf表示索引信息

  • 解包文件
tar zxvf test.tar.gz

-- x表示解包

  • 解包到指定目录
tar zxvf test.tar.gz -C 指定的目录
  • 如果是一般的打包文件,就不使用z参数
tar cvf test.tar test
tar zvf test.tar
tar zvf test.tar -C 指定到的目录
  • 对.bz2格式的压缩包,使用j参数
tar jxvf test.tar.bz2 test
tar jxvf test.tar.bz2
tar jxvf test.tar.bz2 -C 指定的目录
对rar文件

打包:把dir压缩成newdir.rar

rar a -r newdir dir

解包:把newdir.rar 解压缩到当前目录

unrar x newdir.rar
对zip文件

打包:

zip -r dir.zip dir

解包:

unzip dir.zip

类Unix系统目录结构

ubuntu没有盘符这个概念,只有一个根目录/,所有的文件都在根目录下面。根目录下面的文件夹存放的内容简介:

文件名 内容
bin 系统可执行命令
boot 内核和启动程序,所有和启动相关的文件都保存在这里
grub 引导器相关文件
dev 设备文件
etc 系统软件的启动和配置文件,系统在启动过程中需要读取的文件都在这个目录。如LILO参数、用户账户和密码
home 用户的主目录。下面是用户自己定义的用户名的文件夹
lib 系统程序库文件,这个目录里存放着系统最基本的动态链接共享库,类似于Windows下的system32目录,几乎所有的应用程序都需要用到这些共享库
media 挂载媒体设备,如光驱、U盘等
mnt 该目录是让用户临时挂载别的文件系统,如挂载Windows下的每个分区,ubuntu默认还是挂载在/media目录
opt 可选的应用软件包(很少)
proc 该目录是系统内存的映射,我们可以直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘而是在内存里
sbin 管理员系统程序
selinux
srv
sys /udev用到的设备目录树,/sys反映你机器当前所接的设备
tmp 临时文件夹
usr 这个是最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下
bin 应用程序
game 游戏程序
include
lib 应用程序的库文件
lib64
local 包含用户程序等
sbin 管理员应用程序

通过apt-get安装的软件
清理无用的包
sudo apt-get clean && sudo apt-get autoclean
卸载软件和配置
sudo apt-get remove *** --purge

deb包安装
sudo dpkg -i ***.deb
删除软件包命令
sudo dpkg -r ***.deb
连同配置文件一起删除命令
sudo dpkg -r --purge ***.deb

当U盘插入电脑(Ubuntu是直接挂载在media下面的,这里就当是一个积累了,可能其他的类Unix系统会用上这个指令)
-0) sudo fdisk -l
然后看“孤立”的一块存储区,它就是U盘的路径
-1) sudo mount /dev/*** /mnt
把外设U盘挂载到/mnt下面,然后就可以进入mnt下面,就发现里面全是U盘的内容,在该路径下读写文件的改变会直接作用于U盘。
-2) sudo umount /mnt
这样就可以卸载外设

拷贝文件(除了cp之外还可以用dd)
dd if=输入文件名 of=输出文件名
示例:
(base) vincent@vincent:~/CPURam$ dd if=main.cpp of=mainNew.cpp
36+1 records in
36+1 records out
18925 bytes (19 kB, 18 KiB) copied, 0.000224686 s, 84.2 MB/s
用参数bs=100M 还可以表示创建的文件大小100MB,=
用参数count =1表示创建一次
示例:
dd if=/dev/zero of=hello.txt bs=100M count=1
bs = block size,整句话的意思就是我要生成一个100Mb的文件
PS:
-1) /dev/null: 外号叫无底洞,你可以向它输出任何数据,它都通吃,并且不会撑着!
-2) /dev/zero: 是一个输入设备,你可以用它来初始化文件,从里面读出来的数据都是0。

如果想把一个应用程序设置为输入名字即可启动,则需要做以下几步:
-1)sudo vim /home/用户名/.bashrc
打开后,在里面找到“export PATH=$PATH:”
在后面追加你的应用程序路径->保存
-2) 打开新的shell,试运行一下

vim里面的指令(查漏补缺)
>> 文本块右移
<< 文本快左移
{{ 光标向上移动一个段落
}} 光标向下移动一个段落
gg 光标移动到文件开头
G 光标移动到文件结尾
yy 复制当前行
Ctrl+w+w 在vim中的不同窗口之间切换

vim的配置文件有两个,路径分别为:

  1. ~/.vimrc
  2. /etc/vim/vimrc
    其中~/.vimrc的优先级高

gcc编译器选项
gcc -g 选项打开表示包含调试信息,后面使用gdb的时候可以提供帮助你信息;
gcc -D 编译时定义宏,注意-D和宏的名字之间没有空格。这个是用于手动激活代码中的宏定义;

#ifdef DEBUG
  printf("test");
#endif

在编译代码的时候只要加上-DDEBUG就可以手动激活这个宏定义了。

还有两个工具可以帮助在开发过程中进行调试:

  1. nm 查看目标文件中的符号(全局变量、全局函数等)
  2. objdump 用于生成反汇l编文件,主要依赖objcopy实现,a.out编译时需要-g,使用时的指令为:
  gcc main.c -g(打开调试信息) -o a.out
  objdump -dSsx a.out > file

重定向到file里面后,可以看出程序运行时的调试信息。里面可以看到C代码,汇编码,机器码以及内存使用地址。可是我还是觉得这样效率不高,因为滚动了几千行信息之后,我只是为了找到程序出错的停止点。我还是愿意手动打Log的。所以这个工具应该是可以让程序员可以查看生成得汇编代码的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,607评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,047评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,496评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,405评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,400评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,479评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,883评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,535评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,743评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,544评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,612评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,309评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,881评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,891评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,136评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,783评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,316评论 2 342

推荐阅读更多精彩内容