我从来不需要查看用ls -l(实际上,ls -laF)列出的文件的所有者和组,并且想知道是否有办法从输出中删除它们。所以我想改变这一点:
lrwxr-xr-x 1 chuck staff 45 Jul 2 23:29 directory@ -> /Users/chuck/Projects/directory
Run Code Online (Sandbox Code Playgroud)
进入这个:
lrwxr-xr-x 1 45 Jul 2 23:29 directory@ -> /Users/chuck/Projects/directory
Run Code Online (Sandbox Code Playgroud)
我在 OS X 下使用 bash,但我假设答案适用于任何 Unix-y 操作系统,例如运行我的 Web 服务器的 Debian 机器。
我有一个客户,他的客户使用第三方票据交换所来接收发票。我们可以通过将数据导出到 XML、访问特定网站并上传文件来手动完成此操作。相关的 HTML 表单如下所示:
<form border=0
method="POST"
action="/server?request=send"
enctype="multipart/form-data"
id="uploadform"
name="uploadform"
onsubmit="return checkUpload()">
<H2>Upload</H2>
<p>Server directory:<br>
<input type="text"
id="directory"
name="directory"
value="./"
size="30"></p>
<p>Local file to be uploaded:<br>
<input type="file"
id="file"
name="file"
size="40"></p>
<p><input type="submit" value="Send"></p>
</form>
Run Code Online (Sandbox Code Playgroud)
使用他们的网络界面手动提交效果很好。我正在尝试编写一个快速工具,使用它为我们提交表单curl. 我尝试了很多不同的尝试,但到目前为止,每一次,虽然我得到“文件已成功上传”HTML 响应,但他们得到的文件是空的。
我们最初开始尝试使用,curl是因为票据交换所公司建议我们这样做。他们给出的例子是这样的:
curl -i -k -H "Content-Type:application/octet-stream" \
-d @test.txt -u username:password \
https://example.com/server?request=send?filename=test.txt?directory=DX001
Run Code Online (Sandbox Code Playgroud)
当这不起作用时,我开始查看上面表单中的代码,并尝试以下操作(与 XML 文件位于同一目录中):
curl -F "request=send" -F "directory=DX001" -F "file=33823.xml" \
-u username:password -F "enctype=\"multipart/form-data\"" \
-F "id=\"uploadform\"" https://example.com/server
Run Code Online (Sandbox Code Playgroud)
当这不起作用时,我想我应该尝试绝对路径,即使我位于同一目录中:
curl -F …Run Code Online (Sandbox Code Playgroud)