linux下的常用命令

查找所需文件由哪个软件包提供:

在Linux下,可以看看/usr/include下有没有这个文件(DEB系统可以用apt-file find include/thread.h这样的命令来查哪个软件包提供了所需的文件) 在使用apt-file前首先按照,之后update。然后在执行命令即可。

sudo apt-get提示缺少锁的解决

当软件中心工作时,命令行方式执行sudo apt-get会提示缺少锁。这时候如果软件中心工作正常,那么退出后会释放锁。但是如果软件中心挂了(很被催的经历,发生在安装某软件期间死机后),那么需要强行释放锁。 出现问题时系统提示如下: 无法获得锁 /var/lib/dpkg/lock – open (11: 资源暂时不可用) E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?” 解决方法如下: 1.终端输入 ps -aux ,列出进程,找到含有apt-get的进程,直接sudo kill PID解决。 2.强制解锁–命令: sudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock

Eclipse环境设置:

增加工程需要引用的库文件–在project中选择properties,然后选择C/C++ Build,选择settings,在里面的libraries中,增加已经引用的库,注意前面的lib和后面的so都不需要加入,只是填中间的即可。 设置提示信息响应速度 —window->preferences->Editor->content Assist->Delay.默认值500ms, 设置双击函数名称时,显示函数定义信息窗口的背景色(默认为黑色,字体黑色,结果看不见了。)–方法修改ubuntu系统主题背景色。 Eclipse中查看完整函数名提示:alt+/ Eclipse自动注释本行文字:ctrl+/ 在给工程设置链接库路径时,需要注意不支持子目录查找,因此需要显示定义各个库的目录。 Alt+/:代码提示 Ctrl+/:注释/取消注释 Ctrl+D:删除光标所在行 Ctrl+K:将光标停留在变量上,按Ctrl+K键可以查找到下一个同样的变量 Shift+Ctrl+K:和Ctrl+K查找的方向相反 Shift+Ctrl+F:代码格式化。如果选择了代码,仅对所选代码格式化 Shift+Ctrl+O:快速地导入import Shift+Ctrl+X:将所选字符转为大写 Shift+Ctrl+Y:将所选字符转为小写 Ctrl+M:快速对当前视图最大化 Ctrl+O:在代码中打开类似大纲视图的小窗口 Ctrl+单击:可以跟踪方法和类的源码 Alt+左右方向键:跳到前一次/后一次的编辑位置。 Ctrl+鼠标停留:可以显示类和方法的源码 双击左括号(小括号、中括号、大括号),将选择括号内的所有内容。 Ctrl+1:光标停在某变量上,按Ctrl+1键,可以提供快速重构方案。选中若干行,按Ctrl+1键可将此段代码放入for、while、if、do或try等代码块中。 F3:打开声明该引用的文件 F4:打开类型层次结构 F5:单步跳入 F6:单步跳过 F7:单步跳出 F8:继续,如果后面没有断点,程序将运行完 Ctrl+H:打开搜索窗口 Ctrl+Shift+S:保存全部 Alt+Left:回退一步 Alt+Right:前跳一步 Ctrl+Shift+T:打开类型 Ctrl+Shift+R:打开资源 Ctrl+Q:回到最后一次编辑的地方 Ctrl+Shift+G: 在workspace中搜索引用 Ctrl+Alt+Down: 复制高亮显示的一行或多行 Alt+Up(Down):将一行或者多行向上或者向下移动

ubuntu系统主题背景色修改(12.04)

–参见http://blog.csdn.net/androidyue/article/details/9295505。结果发现不行。最后去了ubuntu中文论坛,结论是修改一个巨丑陋的默认主题后,解决。

抓包

    安装了wireshark抓包,结果提示没有可供抓包的网卡。后来发现是权限问题。也就是说需要用root帐号登录。

12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录。以普通身份登陆Ubuntu后我们需要做一些修改,普通用户登录后,修改系统配置文件需要切换到超级用户模式,在终端窗口里面输入: sudo -s.然后输入普通用户登陆的密码,回车即可进入 root用户权限模式。 然后执行: vi /etc/lightdm/lightdm.conf. 增加 greeter-show-manual-login=true allow-guest=false . 修改完的整个配置文件是 [SeatDefaults] greeter-session=unity-greeter user-session=ubuntu greeter-show-manual-login=true #手工输入登陆系统的用户名和密码 allow-guest=false #不允许guest登录 然后我们启动root帐号: sudo passwd root 根据提示输入roott帐号密码。 重启ubuntu,登录窗口会有“登录”选项,这时候我们就可以通过root登录了。

格式化usb

方法1:fdisk fdisk -l 对比查找usb挂载后的盘符。 umount该盘符。 mkfs -t ext3 /dev/sdb1

注意,第一次做失败了,是因为错误输入sdb4,导致格式化了u盘的第四个分区,但是默认使用的分区1没有格式化。

usb的使用只能从u盘往外拷贝,不能往里拷贝

格式化usb之后,以为就可以拷贝数据了,结果悲剧的发现,只能从u盘往外拷贝,不能往里拷贝。

经查是ext3作为文件格式支持acl设置。

而ntfs不支持acl 所以直接挂载后就可以拷贝了。

解决方法:

方法一

首先插入u盘,sudo fdisk -l查看了盘符。

然后,sudo mkdir /home/work/usb

sudo mount /dev/sdc4 /home/work/usb

发现usb目录隶属于root。

进入命令行,sudo cp。。。。。。

当然,使用后不要忘记umount

方法二

能否考虑通过一些参数设置,允许任意账户使用u盘呢?

ubuntu下抓包

安装并且使用了wireshark。 结果打开提示没有可操作的网卡。 后发现是需要root权限。进入命令行su root后sudo wireshark即可。 wireshark提示可以有更稳妥的方案。赶时间,未尝试。

用树形显示进程和线程

转:http://hi.baidu.com/willor/blog/item/fd58e6c5ea840ca38326ac6a.html ps -ef f 用树形显示进程和线程,比如说我想找到proftp现在有多少个进程/线程,可以用 $ ps -ef f | grep proftpd nobody 23117 1 0 Dec23 ? S 0:00 proftpd: (accepting connections) jack 23121 23117 0 Dec23 ? S 7:57 /_ proftpd: jack – ftpsrv: IDLE jack 28944 23117 0 Dec23 ? S 4:56 /_ proftpd: jack – ftpsrv: IDLE 这样就可以看到proftpd这个进程下面挂了两个线程。 在Linux下面好像因为没有真正的线程,是用进程模拟的,有一个是辅助线程,所以真正程序开的线程应该只有一个。

另外用pstree -c也可以达到相同的效果 $ pstree -c | grep proftpd |-proftpd-+-proftpd | `-proftpd

如何查看进程中各线程的内存占用情况?

用ps aux只能查看到进程,如果进程里面使用了pthread编程,用什么命令才能查询到进程里的线程资源占用? ps aux | grep不就是了

如何开启ipv4数据转发功能

临时:echo “1”>/proc/sys/net/ipv4/ip_forward 固定:修改/etc/sysctl.conf,取消这一行的注释: net.ipv4.ip_forward= 1 然后使之立即生效

如何配置nat服务(iptables)

设置iptables规则 临时:iptables -t nat -A POSTROUTING -j MASQUERADE 固定: 或者把上面这个写到一个启动脚本中(比如/etc/rc.local)。这里还有另外一个版本: iptables -F iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -jMASQUERADE 据说“第一句是清除掉之前所有的iptables规则,第二第三句是允许接收和发送数据包,第四句是在eth1网口上NAT“,只是比上面的多了几句废话,最后指定网卡参数什么,还没试过。iptables的用法还得好好学。

命令行方式修改IP地址

1.给一个网卡配置多个IP地址

ifconfig eth0:0 192.168.1.2 netmask 255.255.255.0

ifconfig eth0:1 192.168.1.3 netmask 255.255.255.0

ifconfig eth0:3 192.168.1.4 netmask 255.255.255.0

2.取消一个IP地址

ifconfig eth0:3 down 常见问题 修改拥有者:chown user file 修改权限 :chmod 777 file 修改组:chgrp group file 编译:gcc -Wall main.c -g -o test 注意,此处加入-c,则不可执行。

dup2(int oldfd,int newfd);

这个函数是复制文件描述符,将newfd描述符所对应的文件表 改成 oldfd所对应的文件表项。之后,newfd与oldfd指向同一个文件表。这样就将newfd重定向到oldfd. dup2(4,1),这个就是将标准输出重定向到文件描述符4所对应的文件。系统默认是将文件描述符1对应标准输出(终端),也就是说,我们使用向描述符1写数据,会写到终端。调用dup2(4,1)之后,会写到描述符4所对应的文件。 dup2(1,4),这个是将描述符4重定向到标准输出,如果向描述符4写数据,会输出到终端。 获取文件修改时间 Linux下可以用 date -r filename “+%F %T”

Linux的man使用

Linux的man手册共有以下几个章节:

代號 代表內容 1 使用者在shell中可以操作的指令或可执行档 2 系統核心可呼叫的函数与工具等 3 一些常用的函数(function)与函数库(library),大部分是C的函数库(libc) 4 装置档案的说明,通常在/dev下的档案 5 设定档或者是某些档案的格式 6 游戏(games) 7 惯例与协定等,例如Linux档案系统、网络协定、ASCII code等等的說明 8 系統管理員可用的管理指令 9 跟kernel有关的文件

man是按照手册的章节号的顺序进行搜索的,比如: man sleep 只会显示sleep命令的手册,如果想查看库函数sleep,就要输入: man 3 sleep

linux下查看静态库和动态库是32位还是64位

分类: Linux 2014-08-19 10:52 165人阅读 评论(0) 收藏 举报 动态库: file ./usr/libexec/sudo_noexec.so

静态库: objdump -a libmqapi.a

DOS/Windows和Linux/Unix间的文件格式转换

vi file 先按 EXC 再按 : 输入 :set ff = unix 回车

tar jxvf linux-2-4-2.tar.bz2

df查看文件系统的可用空间及使用情况

df命令可以显示目前所有文件系统的可用空间及使用情形,举例如下 以下是代码片段: [yayug@yayu ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 3.9G 300M 3.4G 8% / /dev/sda7 100G 188M 95G 1% /data0 /dev/sdb1 133G 80G 47G 64% /data1 /dev/sda6 7.8G 218M 7.2G 3% /var /dev/sda5 7.8G 166M 7.2G 3% /tmp /dev/sda3 9.7G 2.5G 6.8G 27% /usr tmpfs 2.0G 0 2.0G 0% /dev/shm

查看文件大小使用命令du

以下是代码片段: [root@bsso yayu]# du -h – -max-depth=1 work/testing 27M work/testing/logs 35M work/testing [root@bsso yayu]# du -h –max-depth=1 work/testing/* 8.0K work/testing/func.php 27M work/testing/logs 8.1M work/testing/nohup.out 8.0K work/testing/testing_c.php 12K work/testing/testing_func_reg.php 8.0K work/testing/testing_get.php 8.0K work/testing/testing_g.php 8.0K work/testing/var.php [root@bsso yayu]# du -h –max-depth=1 work/testing/logs/ 27M work/testing/logs/ [root@bsso yayu]# du -h –max-depth=1 work/testing/logs/* 24K work/testing/logs/errdate.log_show.log 8.0K work/testing/logs/pertime_show.log 27M work/testing/logs/show.log

接受失败等于打破完美的面具,接受失败等于放松自己高压的心理,

linux下的常用命令

相关文章:

你感兴趣的文章:

标签云: