遇到的问题
linux 操作
在ssh上登录服务器遇到乱码?
$ export LANG=”zh_CN.GBK”改变字符成GBK还有乱码怎么办?
$ export LANG="zh_CN.GBK"
$ gcc -o pipe pipe.c
pipe.c: ÔÚº¯Êý¡®main¡¯ÖÐ:
pipe.c:20:21: ´íÎ󣺡®buff¡¯Î´ÉùÃ÷(Ôڴ˺¯ÊýÄÚµÚÒ»´ÎʹÓÃ)
result=write(fd[1],buff,strlen(buff));
^
可以尝试其他字符集,$ export LANG="en_US.UTF-8"
linux的文件在Windows下查看没有换行?
cat -A filename
或者 vi 下 :set list
可以查阅所有的隐藏字符
一种简单的方法是用UE之类的文本编辑器进行Dos转换。在不同主机,不同操作系统上文件传输?
感觉最简单的方式是用WinSCP,SFTP协议传输问题read_only file system?
重新挂载文件系统:
mount -o remount rw /杀死进程:
ps -aux |grep “process_name”
kill PID查看不同操作系统的网卡信息:
windows: ipconfig
linux: ifconfig在虚拟机上设置两个网卡:
直接setting – add network Adapter
CentOS网络配置
- 编辑网络配置:
vi /etc/sysconfig/network-sacrips/ifcfg-eth0
BOOTPROTO="static / DCHP"
TPADDR="IP"
NETMASK=""
DATEWAY=""
DNS1=""
查看路由:
route
出现的信息包括 gateway, mask, 网卡等增加网关:
route add default gw设置网卡开机自启:
onboot=yes
cd /etc/init.d
./network start
or:
service network restart防火墙:
service iptables stop
service iptables start查看端口是否开放:
vi /etc/sysconfig/iptables
增加端口(重启防火墙后即可顺利运行):
-A INPUT -p tcp -m state --state NEW -m tcp --dport *** -j DROP // ***代表端口号
关于xshell远程登录,需要保证本地IP和物理机上的IP在同一个网段
可以在虚拟机中的virtual network editor中设置IP static分配,再手动配置IP及掩码。增加网卡
/etc/sysconfig/network-script这个目录下面,存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,那么有ifcfg-eth1,ifcfg-eth2,ifcfg-eth3……
如果是虚拟机,可以自己增加一个网络适配器,然后在linux中进行setup设置(以CentOS为例进行的说明)
DEVICE="eth0"
TYPE=Ethernet
BOOTPROTO=static
ONBOOT="yes"
IPADDR=10.21.1.242
NM_CONTROLLED="yes"
DNS1=2001:778::37
NETMASK=255.255.0.0
#这是一个空行
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=yes
HWADDR=EC:A8:6B:30:F6:87
IPV6_PEERDNS=no
IPV6_PEERROUTES=yes
ubuntu的防火墙设置
sudo ufw enable|disable
比较两个文件:
diff doc doc1
如果出现错误:
Binary files doc and doc1 differ
那么就是其中至少一个为二进制文件。
结果中的<
是第一个文件的内容,>
是第二个文件的内容。查看文件或者文件夹的大小
du -h filename怎样用gdb查看当前程序运行到那个代码文件?
source info
记录
ubuntu, windows, vi
- 如果安装系统一直失败,可能和引导盘有关。
- 安装ubuntu, delete all data in the disc and install ubuntu,那么我们得到的系统只有一个合成后的大硬盘。
- 想要删除windows+linux双系统中的linux, 下载并使用工具MbrFix.exe,将其放到C盘,进入cmd, MbrFix /drive 0 fixmbr,更改引导记录。点击”计算机”右键–>管理–>磁盘管理–>找到linux分区–>右键–>删除逻辑分区。重启。如果分区没有能够重新使用(看不见),可以在磁盘管理中,将其添加卷并格式化。之后就能当做一个新盘。
- vi上的文本剪切
按下v进入visual模式,按下左右键可以选择部分文本。
v选中文本之后可以按y进行复制,如果按d就表示剪切,之后按p进行粘贴。 - vi中的全文替换
:[range]s/pattern/string/[c,e,g,i]
range 指的是範圍,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也就是整篇文章,也可以 % 代表。還記得嗎? % 是目前編輯的文章,# 是前一次編輯的文章。
pattern 就是要被替換掉的字串,可以用 regexp 來表示。
string 將 pattern 由 string 所取代。
c confirm,每次替換前會詢問。
e 不顯示 error。
g globe,不詢問,整行替換。
i ignore 不分大小寫。
#linux vi中的多行替换。将3到7行的name全部替换成jordan
3,7s/name/jordan/g
#我要替换全文中所有的over变成used:
%s/over/used/g
在vi中怎样进行多行缩进?取消缩进呢?
先进入虚拟v状态,选中所有行,然后连续按下两次”=”。查看Windows的某一端口(80)是否被占用:
netstat -aon|findstr "80"
依据PID杀死进程:
ntsd -c q -p PID
依据进程名杀死进程:
ntsd -c q -pn ImageName 比如:ntsd -c q -pn qq.exe
查看linux的某一端口(80)是否被占用:
lsof -i:80
tasklist能列出所有的进程,和相应的信息。tskill能查杀进程,tskill 程序名。